Книга: ASP.NET MVC Framework
Обработчик маршрутов и интерфейс IRouteHandler
Обработчик маршрутов и интерфейс IRouteHandler
Интерфейс IRouteHandler
предназначен для определения обработчика маршрута. Такой обработчик нужен для того, чтобы обработать запрос после определения маршрута. Иными словами, после клиентского запроса и определения подходящего для него маршрута механизм маршрутизации создает сопоставленный найденному маршруту обработчик и вызывает его. Обработчик должен содержать некую логику, которая исполняется в ответ на клиентский запрос. Для MVC Framework такая логика реализуется с помощью двух классов: MvcRouteHandler
и MvcHandler
.
Задача класса, реализующего iRouteHandler
, состоит в том, чтобы вернуть подходящий экземпляр класса HTTP-обработчика, реализующего iHttpHandler
. Для этого интерфейс IRouteHandler
определяет всего один метод GetHttpHandler
:
IHttpHandler GetHttpHandler(RequestContext requestContext)
Любой класс, реализующий IRouteHandler
, должен реализовать метод GetHttpHandler
, который должен возвращать инстанцированный объект HTTP-обработчика. В механизме MVC Framework за это отвечает класс MvcRouteHandler
, который через GetHttpHandler
возвращает экземпляр другого класса MvcHandler
. Класс MvcRouteHandler
сопоставляется через метод расширения MapRoute
всем маршрутам по умолчанию, поэтому разработчику нет нужды напрямую его использовать.
Таким образом, механизм MVC Framework уже содержит предопределенные элементы в виде реализации интерфейса IRouteHandler
и HTTP-обработчика, и в общем случае разработчик использует их. Но вы можете определить свой вариант IRouteHandler
, который будет возвращать ваш собственный HTTP-обработчик, отличающийся от MvcHandler
. Так вы сможете переопределить поведение механизма MVC Framework на этапе связывания маршрута и объектов модели MVC-приложения.
- 12. Лекция: Создание приложений с графическим интерфейсом пользователя.
- 5.21 IP-адреса, интерфейсы и множественное пребывание
- Множественные интерфейсы и имена методов
- 2.1 Интерфейс SCSI
- 2.2 Интерфейсы IDE, EIDE и АТА
- 7.2 Интерфейс WMI
- 7.5 Программные интерфейсы приложений для адаптеров шины
- Не допускайте того, чтобы поток пользовательского интерфейса блокировался на длительное время
- Абстрактные базы как двоичные интерфейсы
- Интерфейсы накопителей на жестких магнитных дисках
- Интерфейс SATA
- Исключения и обработчики исключений