1

鉴于这个伪代码,我想做的是确保如果我有多个订阅者,我不会remote因为每个订阅者的额外轮询而使我的源饱和。

IObservable<data> RemoteObservable(Remote remote) 
{
   var onceonly = Observable.FromAsyncPattern(remote.Begin, remote.End);
   return Observable.Defer(() => onceonly())
                    .Repeat();
}
4

1 回答 1

2

答案是RefCount,(在这里找到):

   return Observable.Defer(() => onceonly())
                    .Repeat()
                    .Publish()
                    .RefCount();
于 2012-07-27T08:43:13.307 回答