2010-09-22 48 views
0

當我們使用System.Messaging遠程發送消息時,它可以正常工作,即我可以在遠程機器的隊列中看到消息。NServiceBus消息在遠程發送時消失

然而,當我們試圖執行相同的任務,即發送遠程使用NServiceBus的消息,該消息不會出現在遠程隊列,似乎該消息消失

注意,我們在客戶端的以下配置app.config文件:

Configure.With() 
.CastleWindsorBuilder(_container) 
.XmlSerializer() 
.MsmqTransport() 
    .IsTransactional(true) 
    .PurgeOnStartup(false) 
.UnicastBus() 
    .ImpersonateSender(false) 
.CreateBus() 
.Start(); 

是:

<UnicastBusConfig> 
<MessageEndpointMappings> 
    <add Messages="CCSMessage.ITaskCompleted, CCSMessage" Endpoint="[email protected]" /> 
</MessageEndpointMappings> 
</UnicastBusConfig> 

我們使用以下流利的配置引導客戶有什麼我們顯然做錯了嗎?

回答

1

鑑於客戶端和服務器位於不同的計算機上,您應該在客戶端的內部出站隊列中看到該消息(如果它們位於同一臺計算機上則不會)。該消息將保存在那裏,直到它可以傳送到服務器。確保分佈式事務處理協調器在兩臺機器上運行。還要確保服務器的app.config中的InputQueue匹配。還要確保服務器NSB隊列是本地事務處理。