NServiceBus, почему я могу использовать Bus.Send, но не Bus.Publish? Нужна помощь в отладке

Ok,

Быстрый фон

  1. Мы используем NServiceBus 2.0 с почти стандартной конфигурацией, ничего «сумасшедшего» не происходит.

  2. Приложение .NET 3.5

  3. Среда разработки: издатель и подписчик находятся в одном окне, Windows 7.

  4. Промежуточная среда — издатель и подписчик — находятся в разных коробках, одна Windows 7, другая Windows Server 2008.

Поведение

  • В среде разработки подписчик издателя работает нормально, что говорит о том, что сам код в порядке с точки зрения запуска, настройки контейнеров и т. д., и все сообщения настроены правильно, т. е. размер, сериализация и т. д.

  • В промежуточной среде издатель УСПЕШНО получает запрос на подписку.

  • Он также успешно сохраняет подписчика в таблице Subscription (SQL Server, мы используем DBSubscription), и «queuename@machinename» является правильным.

Проблема

В Bus.Publish() ничего не происходит. Исходящая очередь не создается, сообщения нигде не отправляются и не создаются, ошибок не возникает.

Дополнительная информация

  • Интересно, что Bus.Send от издателя работает нормально! кроме, конечно, я должен добавить это в конфигурацию:

    ‹UnicastBusConfig› ‹MessageEndpointMappings› ‹add Messages=Library.Messages Endpoint=subscriberqueue@machinename/› ‹/MessageEndpointMappings› ‹/UnicastBusConfig›

  • Также Издатель МОЖЕТ разрешить:

пинг имя_машины

Итак, что происходит, и на что мне следует обратить внимание?

Почему ОТПРАВИТЬ работает, а ПУБЛИКАЦИЯ нет?

Как заставить PUBLISH работать?


person andy    schedule 01.07.2010    source источник


Ответы (1)


Включите порог ведения журнала для отладки и посмотрите, регистрирует ли издатель «отправка сообщения на…» во время вызова для публикации.

person Udi Dahan    schedule 01.07.2010