我遇到了一个示例 MVC3 代码,它在Global.asax
文件中有以下内容:
public static void RegisterGlobalFilters(....)
{
filters.Add(new MyFilter1());
....
var provider = new MyFilterProvider();
provider.Add(c => c.HttpContext.IsDebuggingEnabled ? new MyProvider2() : null);
FilterProviders.Providers.Add(provider)
}
两者MyProvider1
和MyProvider2
都是用 实现的IResultFilter
,我很困惑为什么其中一个被添加到FilterProviders
另一个被注册为全局过滤器。
为什么以及何时应该在 上添加自定义过滤器FilterProvider
,为什么以及何时应该将它们注册为全局过滤器?