Rx Publish () нарушает IObservable XDocuments - PullRequest
0 голосов
/ 23 февраля 2012

У меня есть следующий запрос 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();

Есть ли лучший способсоздание такой наблюдаемой?

1 Ответ

2 голосов
/ 24 февраля 2012

Пока вы не вызовете Connect (), IConnectableObservable отсоединяется от своего источника, поэтому ничего не произойдет (интервал не запустит свой таймер), пока кто-нибудь не подпишется на него. Connect () заставит публикацию подписаться на ее источник.

...