NServiceBus,为什么我可以Bus.Send,但不是Bus.Publish?需要帮助调试

时间:2010-07-01 00:06:21

标签: windows-server-2008 msmq nservicebus publish-subscribe

确定,

快速背景

  1. 我们使用的NServiceBus 2.0几乎都是标准配置,没有什么“疯狂”的。

  2. App是.NET 3.5

  3. 开发环境是发布者和订阅者在Windows 7的同一个框中。

  4. 暂存环境是发布者和订阅者在不同的盒子上,一个是Windows 7,另一个是Windows Server 2008。

  5. 行为

    • 在Dev环境中,Publisher Subscriber工作正常,这表明代码本身在启动,配置容器等方面是正常的,并且正确配置了所有消息,即大小,序列化等。

    • 在暂存环境中,发布者SUCCESSFULLY收到订阅请求。

    • 它还成功地将订阅者存储在订阅表(SQL Server,我们正在使用DBSubscription),并且“queuename @ machinename”是正确的。

    问题

    在Bus.Publish()上没有任何反应。没有创建传出队列,在任何地方都不发送或创建任何消息,不会引发错误。

    额外信息

    • 有趣的是,发布商的Bus.Send工作正常!当然,我必须将其添加到配置中:

      < UnicastBusConfig>     < MessageEndpointMappings>         < add Messages =“Library.Messages”Endpoint =“subscriberqueue @ machinename”/>     < / MessageEndpointMappings> < / UnicastBusConfig>

    • 发布者CAN也可以解决:

      

    ping machinename

    那么,发生了什么,我应该注意什么?

    为什么SEND有效,而PUBLISH没有?

    如何让PUBLISH工作?

1 个答案:

答案 0 :(得分:0)

将日志记录阈值设置为调试,并查看发布者在发布调用期间是否记录“向...发送消息”。