【发布时间】:2011-07-06 00:56:01
【问题描述】:
尝试实现一个 MSMQ 支持的 WCF PubSub。我知道 net.msmq 是单向的;但是,当我使用单个服务对象来实现 net.msmq 端点以从底层队列中读取,并使用 net.tcp 端点供侦听器订阅回调时,我遇到了很多关于单向 vs 的抱怨.双向、DuplexChannelFactory、DuplexClientBase等等等
似乎实现这一点的唯一方法是让 net.msmq 队列读取服务成为 net.tcp 发布者服务的客户端,并在从队列中读取新消息时通知发布者,而不是在内部将消息发布给订阅者。或者,不要在接收器上使用 net.msmq,而是使用一个普通的旧 MessageQueue 对象来准备。
【问题讨论】:
-
所以你想要一个类,它既是 net.msmq 的单向服务,又是 net.tcp 的双工服务?
-
你能发布这些错误/投诉吗?
-
我需要回归一些代码,但可以肯定的是,我今晚会尝试解决这个问题。 (昨晚通宵安装客户端,我现在要崩溃了。)是的,你是对的:一个实现单向 net.msmq 接收和双工 net.tcp 用于订阅者/侦听器回调的类。我希望将收到的队列消息广播给 N 个订阅者,而无需在中间触及另一个进程或服务。
-
另外:我知道使用自定义的基于 msmq 的绑定可以实现类似的效果,但我希望只使用 net.tcp 客户端。
标签: wcf msmq netmsmqbinding wcf-callbacks msmq-wcf