2015-01-14 5 views
0

Может кто-нибудь объяснить, в чем разница между настройкой EndpointName в Configure.DefineEndpointName и указанием его в app.config в MessageEndpointMappings?NServiceBus - Разница между DefineEndpointName и app.config MessageEndpointMappings

т.е.

.DefineEndpointName("Something.MessageQueue") 

И

<UnicastBusConfig> 
    <MessageEndpointMappings> 
     <add Assembly="Something.Messages" Endpoint="Something.MessageQueue" /> 
    </MessageEndpointMappings> 
    </UnicastBusConfig> 

ответ

1

Это устанавливает имя текущей конечной точки "Something.MessageQueue":

.DefineEndpointName("Something.MessageQueue") 

Это говорит сконфигурированной конечную точку, при отправке сообщений, которые находятся в сборке Som ething.Messages, конечный пункт назначения конечной точки, чтобы отправить их в «SomethingServer.MessageQueue». Я изменил имя конечной точки в вашем примере, чтобы проиллюстрировать, что они разные конечные точки.

<UnicastBusConfig> 
    <MessageEndpointMappings> 
     <add Assembly="Something.Messages" Endpoint="SomethingServer.MessageQueue" /> 
    </MessageEndpointMappings> 
    </UnicastBusConfig> 

Я хотел бы отметить, что имена конечных могли быть одни и те же конечные точки, если вы хотите отправить сообщение самому себе (что может быть полезно время от времени).

Редактировать

Документация Ссылки:

+0

Awesome, спасибо! Вы знаете, где это объясняется в документации, поскольку я изо всех сил пытался найти что-то конкретное и сжатое? –

+1

См. Мой обновленный ответ. –

+0

Удивительный, спасибо –