如何包括计算机';NServiceBus ReplyToAddress中的域名?

如何包括计算机';NServiceBus ReplyToAddress中的域名?,nservicebus,Nservicebus,我正在将NServiceBus与MSMQ一起使用,并尝试将消息从一个域中的计算机发送到另一个域中的计算机。两个域之间存在信任关系 这两台计算机可以相互ping,但前提是它们使用计算机的完全限定名,例如pc01.mydomain.net 在发送消息的计算机上的配置文件中,我已通过将Endpoint属性设置为“”来确保MessageEndpointMappings是正确的Endpoint@pc01.mydomain.net". 如果我尝试发送一条消息,那么它将正常到达pc01端点 但是,当pc01端

我正在将NServiceBus与MSMQ一起使用,并尝试将消息从一个域中的计算机发送到另一个域中的计算机。两个域之间存在信任关系

这两台计算机可以相互ping,但前提是它们使用计算机的完全限定名,例如pc01.mydomain.net

在发送消息的计算机上的配置文件中,我已通过将Endpoint属性设置为“”来确保MessageEndpointMappings是正确的Endpoint@pc01.mydomain.net". 如果我尝试发送一条消息,那么它将正常到达pc01端点

但是,当pc01端点尝试将回复发送回发件人(假设计算机名为sender01.anotherdomain.net)时,它无法传递消息。当我检查Bus.CurrentMessageContext.ReplyToAddress时,它返回“queuename@sender01". 我相信(尽管我无法证明)如果回复地址是“queuename@sender01.anotherdomain.net“然后,回复将按需要到达正确的队列

因此,我只需要一种方法来确保ReplyToAddress具有完全合格的计算机名(sender01.anotherdomain.net),而不仅仅是计算机名(sender01)


有人知道怎么做吗?

在发件人上创建一个传出传输消息变异器,相应地更新ReplyToAddress

在v4中,您可以通过更改RuntimeEnvironment.MachineNameAction函数来覆盖解析计算机名称的方式