@SamMorgan

В чём отличие между middleware и фильтрами в .Net?

Начал углубленно изучать ASP.NET и в ходе изучения и написания кода задался вопросом, на который не нашёл конкретный ответ. Чем отличаются middleware и фильтры? Насколько я понял фильтры в конвеере запросов обтрабатывают после роутинга middleware. Такие вещи как авторизация можно так же благополучно реализовать в middleware, как и огромное количество другого функционала. Так чем же отличаются, если выполняются так же в ковеере запрсов, просто с разной последовательностью.
  • Вопрос задан
  • 189 просмотров
Решения вопроса 2
yarosroman
@yarosroman Куратор тега C#
C# the best
Middleware работают на уровне запросов, а фильтры на уровне слоя MVC, применяются для контроллеров, actions.
Ответ написан
AshBlade
@AshBlade Куратор тега C#
Просто хочу быть счастливым
Middleware - это часть ASP.NET Core. Они занимаются обработкой HTTP запроса, могут его изменять/дополнять. Например, производить авторизацию или, если запрос пришел от прокси, то разворачивать отображать HTTP заголовки
Фильтры - это часть MVC, фреймворка внутри ASP.NET Core. Т.е. они часть контроллеров и предназначаются только для них, но могут работать и как Middleware (HttpContext поле доступно). Дополнительно, у них есть иерархия вызовов, в зависимости от типа фильтра, а middleware вызываются каждая и в зависимости от порядка их регистрации
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы