2013-04-18 27 views
0

我正在使用NServiceBus MSMQ,我試圖從一個域中的計算機發送消息到另一個域中的另一臺計算機。兩個域之間存在信任。如何在NServiceBus ReplyToAddress中包含計算機的域名?

這兩臺計算機可以互相ping通,但前提是他們使用計算機的完全限定名稱,例如, pc01.mydomain.net。

在發送消息的計算機上的配置文件中,我通過將端點屬性設置爲「[email protected]」來確保我的MessageEndpointMappings正確。如果我嘗試發送消息,則它在pc01端點到達OK。

但是,當pc01端點嘗試將回復發送回發件人(假設該計算機的名稱爲sender01.anotherdomain.net)時,它無法傳遞郵件。當我檢查Bus.CurrentMessageContext.ReplyToAddress時,它返回「queuename @ sender01」。我相信(雖然我不能證明它),如果ReplyToAddress是「[email protected]」,那麼回覆將根據需要到達正確的隊列。

所以我只需要一種方法來確保ReplyToAddress具有計算機(sender01.anotherdomain.net)的完全定製名稱,而不僅僅是計算機名稱(sender01)。

有誰知道如何做到這一點?

回答

1

在發送方上創建一個傳出傳輸消息增發器,用於相應地更新ReplyToAddress。

在v4中,您可以通過更改RuntimeEnvironment.MachineNameAction func來覆蓋我們解析機器名稱的方式。

相關問題