Фильтры в ASP.NET Core MVC. Фильтры результатов действий

Фильтры результатов действий выполняться после всех остальных фильтров. Такие фильтры могут реализовывать сразу четыре интерфейса IResultFilter, IAsyncResultFilterIAlwaysRunResultFilter или IAsyncAlwaysRunResultFilter.  Фильтры результатов, реализующие интерфейсы IResultFilter или IAsyncResultFilter выполняются только тогда, когда выполнение метода завершилось успешно. Также, эти фильтры не вызываются, если фильтры исключений обрабатывают исключение, но не устанавливают свойство Exception = null. При этом, фильтры, реализующие IAlwaysRunResultFilter или IAsyncAlwaysRunResultFilter включают результаты действия фильтров исключений. Как правило, фильтры результатов действия применяются в тех случаях, когда необходимо выполнить какую-либо постобработку результата метода.

Читать далее

Фильтры в ASP.NET Core MVC. Фильтры исключений

Фильтры исключений позволяют обрабатывать не обработанные исключения. Для создания фильтра исключений необходимо реализовать один из двух интерфейсов — IExceptionFilter или IAsyncExceptionFilter. Рассмотрим работу с фильтрами исключений в приложении ASP.NET Core MVC.

Читать далее

Фильтры в ASP.NET Core MVC. Фильтры действий

Фильтры действий выполняются после фильтров авторизации и фильтров ресурсов , а также, после привязки модели. Для создания такого фильтра нам необходимо реализовать один из интерфейсов — IActionFilter или IActionFilterAsync. Такие фильтры удобно использовать для анализа привязки модели, для сокращения исходного кода контроллера, а также для модификации входных данных методов контроллера.

Читать далее

Фильтры в ASP.NET Core MVC. Фильтры ресурсов

Фильтры ресурсов реализуют один из двух интерфейсов — IResourceFilter или IAsyncResourceFilter. Эти фильтры охватывают большую часть конвейера фильтров так как до фильтров этого типа выполняются тольно фильтры авторизации. Фильтры ресурсов полезны для сокращенного выполнения большей части конвейера. Например, фильтр кэширования может предотвратить выполнение действия контроллера, если в кэше обнаружено необходимое значение. Второе, не менее популярное использование фильтра ресурсов — добавление или анализ заголовков. 

Читать далее

Фильтры в ASP.NET Core MVC. Передача параметров и зависимостей в фильтры

Как и любые классы .NET, фильтры могут принимать различное количество параметров, которые могут использоваться в работе фильтра. Кроме этого, в фильтры могут передаваться различные зависимости, необходимые для работы фильтра.

Читать далее

Фильтры в ASP.NET Core MVC. Область действия и очередность выполнения фильтров

В ASP.NET Core MVC фильтры могу иметь три различных области действия: метод контроллера, контроллер и глобальная область действия. Также, работа фильтров в конвейере осуществляется в строго очередности.

Читать далее

Фильтры в ASP.NET Core MVC. Введение

Фильтры в ASP.NET Core MVC позволяют выполнять код до или после определенных этапов обработки запроса. Обычно, фильтры в ASP.NET Core MVC реализуются как атрибутов для классов и методов. Для чего нужны фильтры в ASP.NET Core MVC? Их использование в проектах самое широкое — от авторизации пользователя в системе до кэширования ответов и предотвращения дублирования кода. В этой части мы рассмотрим вопросы связанные с использованием различных фильтров в ASP.NET Core MVC

Читать далее