2010-09-22 70 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队列是本地事务处理。