2016-11-17 113 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

相关问题