2010-05-16 92 views
3

想知道這是否是在所有其他人之前指定運行處理程序 (AuthorizationHandler)的順序的方法?NServiceBus指定處理程序執行的順序

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

添加Then<IHandleMessages<IMessage>>()只是覺得奇怪。

在所有的 之前,有沒有更好的方式對總線執行x處理程序進行說明?

回答

4

Specifying message handler order不應要求您列出可能發生的所有事情,而只是列出必須獲得優先級的消息處理程序。我認爲這將是足以在你的情況下使用:

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

在沒有任何其他處理程序給出的排序,他們都應該執行以任何順序配置器加載它們在處理程序不會僅僅因爲沒有訂單被忽略。是給他們的。