远程发送时NServiceBus消息消失

时间:2010-09-22 12:03:12

标签: nservicebus

当我们使用System.Messaging远程发送消息时,它正常工作,即我可以在remore机器上看到队列中的消息。

但是当我们尝试执行相同的任务,即使用NServiceBus远程发送消息时,消息没有出现在远程队列中,似乎消息消失了

注意,我们在客户端app.config文件中有以下配置:

<UnicastBusConfig>
 <MessageEndpointMappings>
  <add Messages="CCSMessage.ITaskCompleted, CCSMessage" Endpoint="transactionalQueue@dev014.ccs.local" />
 </MessageEndpointMappings>
</UnicastBusConfig>

我们使用以下流畅的配置来引导客户端:

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

我们显然做错了吗?

1 个答案:

答案 0 :(得分:1)

鉴于客户端和服务器位于不同的计算机上,您应该在客户端的内部出站队列中看到该消息(如果它们位于同一台计算机上,则不会)。消息将保留在那里,直到它可以传送到服务器。确保分布式事务处理协调器在两台计算机上都运行。还要确保服务器的app.config中的InputQueue匹配。还要确保服务器NSB队列是本地和事务性的。