【发布时间】:2018-05-26 22:41:41
【问题描述】:
在我的应用程序中,我有一个方法,每次服务器上的某个队列发生更新时都会调用该方法。应用程序被初始化为以这种方式运行。
现在,每次使用最新数据调用该方法时,我都希望将其视为事件流的一部分,因此使其成为永远不会以订阅者结束的 Observable 的一部分。
我面临的挑战是:如何在一个被调用的方法上创建一个 observable?下面是我的示例代码。
//This method is invoked every time an update happens on the server
public virtual void MessageHandler(MyObject1 object1, MyObject2 object2)
{
Observable.Create<MyObject3>(observer =>
{
var object3 = new MyObject3(object1, object2);
observer.OnNext(object3 );
return Disposable.Empty;
})
.Subscribe(x => WriteLine($"Message acknowledged"));
}
但这会在每次调用该方法时创建一个 observable,而不是我想要的,而且它看起来也不是正确的方法。我还读到使用“Subject”或“AsyncSubject”不是解决问题的正确方法。
【问题讨论】:
标签: c# .net-core system.reactive