3

只是想知道这是否是指定在所有其他人之前运行处理程序(AuthorizationHandler)的顺序的方法?

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

加起来感觉很奇怪Then<IHandleMessages<IMessage>>()

有没有更好的方式让 Bus 在所有其他人之前执行 x 处理程序?

4

1 回答 1

4

指定消息处理程序顺序不应要求您列出可能发生的所有事情,只列出必须获得优先级的消息处理程序。我认为在您的情况下使用以下内容就足够了:

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

由于没有为任何其他处理程序指定顺序,它们都应该按照配置程序加载它们的任何顺序执行。处理程序不会因为没有为它们指定顺序而被忽略。

于 2010-05-17T14:06:45.760 回答