Учебники

ASP.NET MVC — жизненный цикл

В этой главе мы обсудим весь конвейер MVC и срок действия HTTP-запроса, проходящего через инфраструктуру MVC в ASP.NET. На высоком уровне жизненный цикл — это просто последовательность шагов или событий, используемых для обработки какого-либо типа запроса или для изменения состояния приложения. Возможно, вы уже знакомы с различными жизненными циклами фреймворка, эта концепция не уникальна для MVC.

Например, платформа веб-форм ASP.NET имеет сложный жизненный цикл страницы. Другие платформы .NET, такие как приложения для Windows Phone, имеют свои собственные жизненные циклы. Одна вещь, которая верна для всех этих платформ независимо от технологии, состоит в том, что понимание конвейера обработки может помочь вам лучше использовать доступные функции, и MVC ничем не отличается.

MVC имеет два жизненных цикла —

  • Жизненный цикл приложения
  • Жизненный цикл запроса

Жизненные циклы MVC

Жизненный цикл приложения

Жизненный цикл приложения — это время, когда процесс приложения фактически запускает IIS до момента его остановки. Это отмечается событиями запуска и завершения приложения в файле запуска вашего приложения.

Запрос жизненного цикла

Это последовательность событий, которые происходят каждый раз, когда наше приложение обрабатывает HTTP-запрос.

Точка входа для каждого приложения MVC начинается с маршрутизации. После получения запроса платформой ASP.NET выясняется, как ее следует обрабатывать с помощью модуля маршрутизации URL.

Модули — это компоненты .NET, которые могут подключиться к жизненному циклу приложения и добавить функциональность. Модуль маршрутизации отвечает за сопоставление входящего URL-адреса с маршрутами, которые мы определили в нашем приложении.

Все маршруты имеют связанный с ними обработчик маршрутов, и это точка входа в инфраструктуру MVC.

Обработчик маршрута

Инфраструктура MVC обрабатывает преобразование данных маршрута в конкретный контроллер, который может обрабатывать запросы. После того, как контроллер был создан, следующим важным шагом является выполнение действия . Компонент, называемый invoker action, находит и выбирает соответствующий метод Action для вызова контроллера.

После того, как результат нашего действия подготовлен, запускается следующий этап, а именно выполнение результата . MVC отделяет объявление результата от выполнения результата. Если результатом является тип представления, будет вызван View Engine, который отвечает за поиск и повторную обработку нашего представления.

Если результат не является представлением, результат действия будет выполнен сам по себе. Это выполнение результата генерирует фактический ответ на исходный HTTP-запрос.