NServiceBus указывает порядок выполнения обработчиков - PullRequest
3 голосов
/ 17 мая 2010

Просто интересно, если это способ указать порядок запуска обработчика (AuthorizationHandler) раньше всех остальных?

public void SpecifyOrder(Order order)
{
    order.Specify(First<AuthorizationHandler>.Then<IHandleMessages<IMessage>>());
}

Просто странно добавить Then<IHandleMessages<IMessage>>().

Есть ли лучший способ сказать, что Bus выполняет обработчик x раньше всех? другие?

1 Ответ

4 голосов
/ 17 мая 2010

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

public void SpecifyOrder(Order order)
{
    order.Specify<AuthorizationHandler>();
}

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

...