Я наткнулся на пример кода 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
, и почему и когда мы должны регистрировать их как глобальные фильтры?