NServiceBus处理程序的执行链优雅中断

时间:2014-08-03 08:56:45

标签: nservicebus

NServiceBus中有一个选项来管理处理程序执行的顺序。

例如,我们有:

  • AuthorizationHandler:IHandleMessages< Message1>(用于安全验证)
  • WorkHandler:Saga<数据>,IAmStartedByMessages<消息1> (实际BL)

我们可以通过写作来定义订单:

public void SpecifyOrder(Order order)
{
   order.Specify(First<AuthorizationHandler>.Then<WorkHandler());
}

问题是:

如果我想在AuthorizationHandler决定的情况下停止消息处理,那么它不会被下一个处理程序处理,我该怎么做呢?没有抛出异常等......?

提前谢谢

叶夫

1 个答案:

答案 0 :(得分:0)

简单:bus.DoNotContinueDispatchingCurrentMessageToHandlers()如果我没记错的话