2015-06-10 4 views
0

У меня есть консольное приложение, которое использует NServiceBus для публикации сообщения в теме Azure. Тем не менее, NServiceBus создает новую тему с другим именем, а не тот, который я указал. Почему это?Почему NServiceBus на Azure не использует мое указанное конечное имя?

Подробнее

Моя конфигурация сообщение выглядит следующим образом. Это означает, что сообщения типа «TheResponse» должны перейти к теме с именем «test1», правильно?

<UnicastBusConfig> 
    <MessageEndpointMappings> 

     <add Assembly="Messages" Type="Messages.TheResponse" Endpoint="test1"/> 

    </MessageEndpointMappings> 
</UnicastBusConfig> 

<connectionStrings> 
    <add name="NServiceBus/Transport" 
     connectionString="Endpoint=sb://[my-namespace].servicebus.windows.net/;SharedSecretIssuer=[issuer];SharedSecretValue=[key]"></add> 
</connectionStrings> 

Что происходит на самом деле является то, что NServiceBus создает новую тему на Azure в формате MyAssemblyName-MyMachineName.events.

Мы используем транспортный автобус Azure Service Bus.

Как я могу заставить NServiceBus публиковать события в конкретной теме? Не понимаю ли я смысл целей MessageEndpointMappings?

+0

Было бы хорошо знать, какой транспорт вы используете, какое пространство имен сообщений и посмотреть код, который отправляет сообщения. –

ответ

1

Azure servicebus не позволяет назвать несколько объектов разных типов с одинаковым именем, поэтому каждая конечная точка определяет входную очередь, названную после имени конечной точки, и тему публикации с добавлением «.events».

Вы не можете публиковать информацию по определенной теме, конечная точка может публиковать только ее собственную тему, и подписчики могут принять решение о прослушивании конкретных конечных точек.

Ваш файл сопоставления фактически говорит, что все сообщения/команды типа Messages.TheResponse должны быть отправлены во входную очередь конечной точки «test1» или в случае, если TheResponse будет событием: пожалуйста, подпишитесь на тему публикации конечной точки 'test1'

+0

Это лучшее объяснение, которое я слышал относительно отношений между темами и очередями и конечными точками. Спасибо, мил. – willem