【发布时间】:2014-04-28 17:28:38
【问题描述】:
我通过 IObservable 属性公开了一个稍微“昂贵”的计算。
如果有多个订阅者,我想保护它不被多次运行,所以我在它后面放了一个 Publish().RefCount(),但是当我插入断点时,我仍然看到它被调用了两次。
public IObservable<int> Property
{
get { return _Source.Select(Expensive).Publish().RefCount(); }
}
【问题讨论】:
-
“保护它不被多次运行”是什么意思? (1) 它应该只执行一次,并且必须忽略任何进一步的执行指令;或 (2) 一次只应处理一个请求,其他请求(如果有)应 (a) 忽略,或 (b) 排队?
标签: c# system.reactive