尝试实现MSMQ支持的WCF PubSub。我知道net.msmq是单向的;但是,当我使用单个服务对象实现net.msmq端点以从底层队列读取时,以及一个net.tcp端点供侦听器使用回调进行订阅时,我遇到了很多关于单向vs的抱怨。双向,DuplexChannelFactory,DuplexClientBase等等。
实现这一点的唯一方法似乎是让net.msmq队列读取服务成为net.tcp发布者服务的客户端,并在从队列中读取新消息时通知发布者,而不是在内部将消息发布给订阅者。或者,不要在接收器上使用net.msmq,而是准备使用普通的MessageQueue对象。
答案 0 :(得分:0)
在重构一些接口并找到订阅者和回调实现者之间缺少的归属和awkard关系之后,我已经建立了预期的队列支持的pubsub模式。是的,有可能,以前的困难是我的设计错误。
编辑/脚注:出于某种原因,先前作为MsmqMessage传递给net.msmq接收器的消息现在抛出了nullreferenceexceptions;然而,将签名更改为MyObject可以正常工作,但最初并没有