HttpHandler для приложения Asp.NET MVC
Для обычных приложений ASP.NET WebForms веб-страница является производной от класса Page, который реализует IHttpHandler, который обслуживает реальный веб-запрос.
В ASP.NET MVC базовым классом веб-страницы является System.Web.Mvc.ViewPage, который также является производным от класса Page, который, в свою очередь, реализует IHttpHandler.
Но в ASP.NET MVC Razor файл "cshtml" является производным от System.Web.Mvc.WebViewPage, который фактически не реализует IHttpHandler.
Согласно архитектуре IIS, для обработки запроса класс должен реализовывать IHttpHandler, но это не относится к механизму представления Razor. Как это могло быть возможно?
1 ответ
Посмотрите на текст ссылки этого шпаргалки.
ASP.NET MVC не использует WebForms IHttpHandler. Это использует MvcHandler от MvcRouteHandler.
Класс ViewPage вызывается в ViewEngine. Стиль архитектуры MVC model2 не является стилем Page Controller.