全局过滤器MVC 4的执行顺序是什么

时间:2013-08-13 15:37:19

标签: asp.net-mvc-4 action-filter

我的MVC 4应用程序中有2个全局操作过滤器,我使用RegisterGlobalFilters在Filter.config文件中注册。我需要它们按特定顺序执行。

我知道如何指定控制器特定过滤器的顺序,但如何指定全局过滤器的顺序和范围?是按照他们注册的顺序?

2 个答案:

答案 0 :(得分:8)

由于没有回答如何在RegisterGlobalFilters中指定全局过滤器的顺序,这是我的答案:

您可以通过传入第二个参数来指定Add方法中的顺序:

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
    filters.Add(new HandleErrorAttribute(), 1);
    filters.Add(new LogFilter(), 2);
}

答案 1 :(得分:5)

In this MSDN article向下滚动到过滤订单部分。有OrderScope属性允许您控制执行顺序。