C#可观察模式-订阅时可观察(如果有)

时间:2018-10-24 08:31:34

标签: c# observable observer-pattern subscribe

TL; DR:

我正在订阅我的Observable<User> 之后,它发现了一个User,因此当没有人在听(尚未)时,它正在呼叫OnNext()。我想要一种在订阅时进行通知或在订阅时进行询问的方式(观察者可观察到,或者相反)

上下文:

我有一个UserServiceMessageService,一个MessageViewModel和一个DefaultMessageRequest。 ViewModel使用该服务,该服务使用该请求,并且userService有点“无处不在”,因为当找到新用户时,大多数人都会监听它。

当用户注销并最终登录时,UserService通知所有观察者有一个新用户,从而开始了各种调用,其中一个正在获取DefaultMessage。

我的问题是该应用程序具有用户持久性,这意味着它在启动时有时已经登录(令牌有效期足够长),因此,当每个人都订阅时,已经有一个用户,并且没人知道它,因为OnNext是没有触发。这导致了一些问题,我需要帮助找出谁应该采取行动(观察员?可观察的?),以及如何采取行动。

我的问题是:

  • 可观察者的角色是在观察者订阅时通知观察者吗?还是在订阅时手动问观察者是否已有观察者的角色?
  • 如何解决我的问题?我感觉我可以在Subscribe()方法上进行一些修改,以帮助解决问题,但是我在文档中找不到“模式友好”的东西。

0 个答案:

没有答案