2016-11-17 114 views
1

在NServiceBus 6.x中,ISpecifyMessageHandlerOrdering接口已過時。在NServiceBus 6.x中指定消息處理程序排序

文檔通過調用endpointConfiguration上的ExecuteTheseHandlersFirst方法來指定順序。

我將NSB從5.x升級到6.x.在解決方案中,我在一個核心庫中有endpointConfiguration,而在其他庫中有許多處理程序。有沒有一種方法來指定這些其他庫中的處理程序順序(5.x方式)?

+0

那麼你只是在做部分升級? –

+0

沒有。整個解決方案 - 包括核心項目和處理器項目。 – pmarek

+0

那麼你是否會問,如果以過時的方式指定它是否仍然有效? –

回答

2

如果我正確認識你,你的問題來自於一個事實,一個ISpecifyMessageHandlerOrdering實現可以放置在任何地方和裝配掃描,其中EndpointConfiguration在預定點被拾起,並您的處理程序是。正確?

如果是這種情況,我認爲INeedInitialization接口將是您的正確擴展點。它使您可以訪問EndpointConfiguration,並通過程序集掃描進行拾取。

另外,還有一個名爲NServiceBus.HandlerOrdering的社區項目,它允許您在處理程序上更直觀地表達處理程序的順序,添加如IWantToRunAfter<OtherHandler>這樣的接口。這是一個sample showing how that project works

+0

這是我一直在尋找的東西。謝謝! – pmarek

相關問題