NServiceBus消息处理程序未按预期顺序触发Saga处理程序提前触发

时间:2011-04-05 14:09:45

标签: nservicebus

我们正在使用自己的主机,并希望指定一个首先触发的处理程序。我们有一个消息验证处理程序,我们想在我们的Saga处理程序之前触发。我们尝试使用下面的代码设置顺序,但查看我们的日志,我们的saga消息处理程序首先触发,然后验证处理程序触发。难过并且想知道这个传奇是否与它有关? 如果您有任何想法,请告诉我们。

此处的文档:http://docs.particular.net/nservicebus/handlers/handler-ordering

NServiceBus.Configure.With()
 ...
 .UnicastBus()
      .LoadMessageHandlers<First<YourHandler>>()

我们的代码如下:

var bus =  Configure.With()
    ...
    .UnicastBus()
          .LoadMessageHandlers(new First<ValidationHandler>())

1 个答案:

答案 0 :(得分:1)

将您的代码更改为NServiceBus常见问题解答中的示例。我有同样的问题,我也在做

.UnicastBus()
      .LoadMessageHandlers(new First<ValidationHandler>())

当我切换到

.UnicastBus()
      .LoadMessageHandlers<First<YourHandler>>()

按预期顺序运行处理程序