我有以下Rx查询,它产生了一个IObservable问题,即它不能与Publish()一起工作,因此随着订阅者数量的增加,内存加载也会增加
// Works
Observable
.Interval(TimeSpan.FromSeconds(1.0))
.Select(_ => XDocument.Load("http://test.com/data.xml"));
// Broken
Observable
.Interval(TimeSpan.FromSeconds(1.0))
.Select(_ => XDocument.Load("http://test.com/data.xml")).Publish();
有没有更好的方法来创建这样一个Observable?
在调用Connect()之前,IConnectableObservable与它的源断开连接,所以在有人订阅它之前不会发生任何事情(Interval不会启动计时器)。Connect()将使Publish订阅它的源。