У меня есть несколько обработчиков сообщений (IHandleMessage), обрабатывающих разные сообщения в проекте. Сообщения не используются обработчиками с разных конечных точек. Они потребляются с конечной точки, указанной в EndpointConfig или с конечной точки, с именем, аналогичным пространству имен проекта. Как я могу обрабатывать обработчики сообщениями в соответствии с набором конечных точек, определенных в разделе MessageEndpointMappings?NServiceBus: Как настроить различные обработчики сообщений для обработки сообщений с разных конечных точек в MessageEndpointMappings
Например, у меня есть два типа сообщений. Message1 и Message 2 в проектах Контракты и два обработчика (IHandleMessage), Message1Handler и Message2Handler в обработчиках проектов.
Я использую транспорт RabbitMq NServiceBus. Я хочу, чтобы эти обработчики потребляли сообщения из своих соответствующих очередей сообщений, т. Е. Message1Handler из Контракта. Очередь сообщений1 и Message2Handler из Контракта.
<MessageEndpointMappings>
<add Assembly="Contracts" Type="Contracts.Message1" Endpoint="Contracts.Message1" />
<add Assembly="Contracts" Type="Contracts.Message2" Endpoint="Contracts.Message2" />
</MessageEndpointMappings>
Эти сопоставления конечных точек в проекте Handler не работают. Сообщения не расходуются. Сообщения либо потребляются из очереди обработчика (такие же, как пространство имен проекта), либо EndpointName, упомянутое в EndpointConfig.cs.
Каково использование MessageEndpointMappings в случае обработчиков?
Я использую NServiceBus 5.2.0
MessageEndpointMapping настраивает, где сообщения должны быть отправлены * на основе типа сообщения. Это не влияет на получение. Поведение, которое вы сейчас наблюдаете, является правильным. Если вам нужны обработчики для обработки разных очередей, вам нужны две разные конечные точки. В настоящее время у вас есть только один. –
@AlexeyZimarev, чтобы уточнить, MessageEndPointMappings указывает, откуда приходит сообщение в случае событий, и укажите, куда должно идти сообщение в случае команды. –
Спасибо, Алексей и Янник за ваш ответ. – Nikhil