【问题标题】:NServiceBus. MSMQ message carries private IP of Response queue, but I need public服务总线。 MSMQ消息携带响应队列的私有IP,但我需要公共
【发布时间】:2016-07-27 11:28:05
【问题描述】:

NServiceBus 5.2.14、NServiceBus.Host 6.0.0、MSMQ 传输、NHibernate 持久性

我需要通过 pub/sub 设置两个端点之间的通信。两者都有静态公共 IP。首先部署在 Azure 经典 VM 上。第二个目前是我的开发 PC。

我正在使用“UnicastBusConfig”部分将命令和事件映射到端点地址,使用“端点”属性中的公共 IP。 Bus.Send() 按预期工作。但是 Bus.Publish() 和 Bus.Reply() 尝试将消息发送到私有 IP。

订阅消息还带有订阅者的私有 IP(我检查了订阅表)。

看起来这两个端点(双向)之间发送的所有消息都为“响应队列”捕获了发件人的私有 IP。这是一个卡在传出队列中的已发布事件的示例。 Stuk event

我是否可以将我的端点配置为至少将自定义地址(在我的情况下为公共 IP)用于事件订阅消息(我可以在没有 Bus.Reply() 的情况下生活)。

我试过了: 1. 使用 BusConfiguration 的 OverridePublicReturnAddress() 扩展; 2. 附加设置“ReplyToAddress”标头的 IMutateTransportMessages 实现。 但没有任何积极的结果。

【问题讨论】:

  • 您是否检查过队列在 MSMQ 中是公开的?我想知道它们是否被标识为私有 IP,因为它们是作为私有队列创建的,因此没有向目录服务注册?

标签: .net azure nservicebus msmq


【解决方案1】:

你的 Azure VM 是否在同一个虚拟网络中,如果是,你可以使用 private 来做一些通信。

【讨论】:

  • 不。只有一个在云端,另一个不在。
猜你喜欢
  • 2011-03-24
  • 2011-09-23
  • 1970-01-01
  • 2018-02-02
  • 2013-06-07
  • 2020-10-08
  • 2010-11-02
  • 2017-11-07
  • 2017-04-22
相关资源
最近更新 更多