Сообщение NServiceBus исчезает при удаленной отправке

Когда мы используем System.Messaging для удаленной отправки сообщения, оно работает правильно, т.е. я вижу сообщение в очереди на удаленной машине.

Однако, когда мы пытаемся выполнить ту же задачу, то есть отправить сообщение удаленно с помощью NServiceBus, сообщение не появляется в удаленной очереди, кажется, что сообщение исчезает.

Обратите внимание, у нас есть следующая конфигурация в клиентском файле app.config:

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

Мы загружаем клиент, используя следующую свободную конфигурацию:

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

Есть ли что-то, что мы явно делаем неправильно?


person bstack    schedule 22.09.2010    source источник


Ответы (1)


Учитывая, что клиент и сервер находятся на разных машинах, вы должны увидеть сообщение во внутренней исходящей очереди клиента (если они на одной машине у вас его не будет). Сообщение будет храниться там до тех пор, пока не будет доставлено на сервер. Убедитесь, что координатор распределенных транзакций работает на обеих машинах. Также убедитесь, что InputQueue в app.config сервера совпадает. Также убедитесь, что очередь NSB сервера является локальной и транзакционной.

person Adam Fyles    schedule 23.09.2010