我有一个WCF服务应用程序,它向不同计算机上的各个订阅者发布信息。订阅者位于客户端应用程序中,可以动态订阅和取消订阅。订阅时,我在IDisposable.Dispose()方法中处理订阅,因此它应该在处理时安全取消订阅。
但是,如果客户端应用程序突然关闭,我无法正确处理订阅者,该怎么办?这是否会在发布者方面留下对订阅者的任何引用?或者我根本不应该担心这个?
编辑:
让我重新说一下。假设您通过WCF上的双工消息传递模式拥有发布者/订阅者模型。如何设计它以使程序即使在客户端意外关闭时也是安全的?
另一方面,发布者如何知道订阅者(客户端)已经死亡,以便它可以取消订阅订阅?