在NServiceBus 6.x中指定消息处理程序排序

时间:2016-11-17 11:00:03

标签: c# .net nservicebus

ISpecifyMessageHandlerOrdering接口在NServiceBus 6.x中已过时。

文档告诉通过在endpointConfiguration上调用ExecuteTheseHandlersFirst方法来指定顺序。

我正在将NSB从5.x升级到6.x.在解决方案中,我在一个核心库中有endpointConfiguration,在其他库中有许多处理程序。有没有办法在这些其他库中指定处理程序排序(5.x方式)?

1 个答案:

答案 0 :(得分:2)

如果我正确理解您,您的问题来自于ISpecifyMessageHandlerOrdering实施可放置在任何位置并通过装配扫描拾取的事实,其中EndpointConfiguration位于预定义位置现场,处理程序所在的位置。正确的吗?

如果是这种情况,我认为position()界面对您来说是正确的扩展点。它允许您访问EndpointConfiguration,并通过程序集扫描获取。

或者,有一个名为INeedInitialization的社区项目,它允许您在处理程序上更明确地表达处理程序排序,添加IWantToRunAfter<OtherHandler>之类的接口。这是NServiceBus.HandlerOrdering