在NServiceBus 6.x中,ISpecifyMessageHandlerOrdering接口已過時。在NServiceBus 6.x中指定消息處理程序排序
文檔通過調用endpointConfiguration上的ExecuteTheseHandlersFirst方法來指定順序。
我將NSB從5.x升級到6.x.在解決方案中,我在一個核心庫中有endpointConfiguration,而在其他庫中有許多處理程序。有沒有一種方法來指定這些其他庫中的處理程序順序(5.x方式)?
在NServiceBus 6.x中,ISpecifyMessageHandlerOrdering接口已過時。在NServiceBus 6.x中指定消息處理程序排序
文檔通過調用endpointConfiguration上的ExecuteTheseHandlersFirst方法來指定順序。
我將NSB從5.x升級到6.x.在解決方案中,我在一個核心庫中有endpointConfiguration,而在其他庫中有許多處理程序。有沒有一種方法來指定這些其他庫中的處理程序順序(5.x方式)?
如果我正確認識你,你的問題來自於一個事實,一個ISpecifyMessageHandlerOrdering
實現可以放置在任何地方和裝配掃描,其中EndpointConfiguration
在預定點被拾起,並不您的處理程序是。正確?
如果是這種情況,我認爲INeedInitialization
接口將是您的正確擴展點。它使您可以訪問EndpointConfiguration
,並通過程序集掃描進行拾取。
另外,還有一個名爲NServiceBus.HandlerOrdering的社區項目,它允許您在處理程序上更直觀地表達處理程序的順序,添加如IWantToRunAfter<OtherHandler>
這樣的接口。這是一個sample showing how that project works。
這是我一直在尋找的東西。謝謝! – pmarek
那麼你只是在做部分升級? –
沒有。整個解決方案 - 包括核心項目和處理器項目。 – pmarek
那麼你是否會問,如果以過時的方式指定它是否仍然有效? –