ISpecifyMessageHandlerOrdering接口在NServiceBus 6.x中已过时。
文档告诉通过在endpointConfiguration上调用ExecuteTheseHandlersFirst方法来指定顺序。
我正在将NSB从5.x升级到6.x.在解决方案中,我在一个核心库中有endpointConfiguration,在其他库中有许多处理程序。有没有办法在这些其他库中指定处理程序排序(5.x方式)?
答案 0 :(得分:2)
如果我正确理解您,您的问题来自于ISpecifyMessageHandlerOrdering
实施可放置在任何位置并通过装配扫描拾取的事实,其中EndpointConfiguration
位于预定义位置现场,不处理程序所在的位置。正确的吗?
如果是这种情况,我认为position()
界面对您来说是正确的扩展点。它允许您访问EndpointConfiguration
,并通过程序集扫描获取。
或者,有一个名为INeedInitialization
的社区项目,它允许您在处理程序上更明确地表达处理程序排序,添加IWantToRunAfter<OtherHandler>
之类的接口。这是NServiceBus.HandlerOrdering。