Выбор ответа Junior ASP.NET Core спрашивают часто обновлено

Порядок middleware

Вопрос

Почему порядок регистрации middleware в Program.cs важен?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Это конвейер: запрос идёт по порядку регистрации, ответ в обратном. Каждый middleware получает next и сам решает, вызвать ли его.

Варианты ответа

  1. Порядок не важен: ASP.NET Core сам сортирует middleware по приоритету
  2. Порядок влияет только на скорость запуска приложения, а не на обработку
  3. Это конвейер: запрос идёт по порядку регистрации, ответ в обратномправильный ответ
  4. Важен только порядок Use* относительно Map*, остальные идут параллельно

Разбор

Каждый middleware получает next и сам решает, вызвать ли его. Запрос идёт сверху вниз, ответ возвращается снизу вверх. Поэтому UseAuthentication должен стоять до UseAuthorization, обработчик исключений в самом начале, а UseStaticFiles до тяжёлых шагов. Автоматической сортировки нет, параллельно middleware не выполняются.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.