Глобальные фильтры

Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core

Последнее обновление: 31.10.2015

Мы посмотрели на различные виды фильтров. Как вы видели, мы можем применить фильтры как к отдельным действиям, так и ко всему контроллеру - то есть ко всем его действиям. Однако если мы хотим применить фильтр ко всем контроллерам, а контроллеров у нас много? В данном случае в mvc реализована функциональность глобальных фильтров. Эти фильтры применяются ко всем действиям всех контроллеров.

Откроем файл FilterConfig.cs, который находится в папке App_Start. В этом файле определен класс FilterConfig, который в методе RegistreGlobalFilters осуществляет регистрацию глобальных фильтров в коллекцию filters. Эта коллекция представляет собой объект GlobalFilterCollection, который передается в качестве параметра при вызове метода в файле Global.asax.

Итак, мы можем зарегистрировать глобальные фильтры так:

public class FilterConfig
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());
			
        filters.Add(new MyExceptionAttribute());
        filters.Add(new MyResultAttribute());
    }
}
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850