C# WCF&x27;s发布者-订阅者模式

C# WCF&x27;s发布者-订阅者模式,c#,wcf,publisher,subscriber,C#,Wcf,Publisher,Subscriber,我使用WCF已经有一段时间了,我在MSDN上看到了几篇关于WCF的发布者-订阅者模型的文章 在我即将开始的一个项目中,有一个要求是让一台服务器向多台服务器发送消息,因此,我对发布服务器/订阅服务器模型有一些疑问 我主要关心的是: 如果我五分之二的订户由于电脑重启而断开连接,会发生什么情况。当2个订阅者重新连接时,我是否必须手动处理发布者将消息重新发送给他们 我需要发布者发送的每条消息都能积极地到达所有其他订阅者,如果他们处于脱机状态,发布者必须负责在订阅者重新联机时重新发送消息。因为发布者可能会

我使用WCF已经有一段时间了,我在MSDN上看到了几篇关于WCF的发布者-订阅者模型的文章

在我即将开始的一个项目中,有一个要求是让一台服务器向多台服务器发送消息,因此,我对发布服务器/订阅服务器模型有一些疑问

我主要关心的是:

如果我五分之二的订户由于电脑重启而断开连接,会发生什么情况。当2个订阅者重新连接时,我是否必须手动处理发布者将消息重新发送给他们

我需要发布者发送的每条消息都能积极地到达所有其他订阅者,如果他们处于脱机状态,发布者必须负责在订阅者重新联机时重新发送消息。因为发布者可能会发送很多消息,这是否意味着我需要某种排队机制来存储应该发送给脱机订阅者的所有消息,并在它们重新联机时重新发送它们


在我的场景中使用WCF的发布者/订阅者模式合适吗?是否有任何型号支持断开连接的订阅者,当订阅者重新联机时自动重新发送,或者我必须对每个方面进行自定义编码才能处理此问题?

您可以尝试MSMQ,WCF支持它。发布者将消息发送到5个队列;每个消费者都将读取其队列。

如果由于大小限制我不想使用MSMQ,是否还有其他选项?或者我必须实现自己的故障保护机制吗?您可以配置消息的最大大小,例如:如果您不想使用MSMQ,则在通信失败时,您必须为消息使用本地存储(MSMQ?),然后重试通信。