Comments 14
Видимо разработчики на Майкрософтовских технологиях не подозревают, что MVC — это шаблон проектирования, а не только название их фреймворка, поэтому нужно уточнять, о чем идет речь.
Не понравилось как написано. Куча плохо построенных предложений с несогласованными словами. Сложно воспринимать.
Что за бред вы тут написали?
Почитать:
IDependencyResolver
И какое это имеет отношение к жизненному циклу? (lifetime cycle)
Вот скажите, а RouteHandler вызывается раньше HttpHandler'а или посже?
И как к этому всему относится RouteContext? Когда создаётся?
Вы вообще о чём написали?
Почитать:
IDependencyResolver
И какое это имеет отношение к жизненному циклу? (lifetime cycle)
Вот скажите, а RouteHandler вызывается раньше HttpHandler'а или посже?
И как к этому всему относится RouteContext? Когда создаётся?
Вы вообще о чём написали?
Ум… а то, что MVC пытается резолвит ControllerFactory, Controller и ещё массу всего через IDependencyResolver
Господи не успеваю отвечать на ваши вопросы!) Да ВАРИАНТОВ инжекции много IDependencyResolver, цель поста не инжекция!) О ней кстати тоже много рассуждать, но давайте не засорять нашими коментариями тему явно к этому не относящуюся. По прежнему в личке всегда подискутирую с вами.
Начнем с того, что вы не внимательно читали. IDependencyResolver тут вообще не причем. Я лишь пояснил, что один из способов Dependency Injection это переопределение фабрики контроллеров.
По поводу RouteHandler я если честно не понял вопроса. RouteHandler это свойства класса Route, Этому свойству присваивается интерфейс IRouteHandler, в моем примере CustomRouteHandler().
Также RouteHandler является и классом. Тут мы снова обращаемся в MSDN
Класс UrlRoutingModule сопоставляет HTTP-запрос маршруту в приложении ASP.NET. Данный модуль выполняет итерацию по всем маршрутам в свойстве RouteCollection в поиске маршрута, шаблон URL-адреса которого соответствует формату запроса HTTP. Найдя соответствующий маршрут, модуль извлекает для него объект IRouteHandler. Из обработчика маршрута модуль получает объект IHttpHandler и использует его как обработчик HTTP для текущего запроса.
Но теперь IHttpHandler нужно связать с контроллером. Это делает MvcRouteHandler он связывает MvcHandler с IHttpHandler, методом protected virtual IHttpHandler GetHttpHandler(RequestContext requestContext).
Немного сумбурно получилось. Как видите я тут сам черт ногу сломает. Если вам это действительно интересно, мы можем обсудить это в личке, и позже написать более подробную статью на эту тему.
По поводу RouteHandler я если честно не понял вопроса. RouteHandler это свойства класса Route, Этому свойству присваивается интерфейс IRouteHandler, в моем примере CustomRouteHandler().
Также RouteHandler является и классом. Тут мы снова обращаемся в MSDN
Класс UrlRoutingModule сопоставляет HTTP-запрос маршруту в приложении ASP.NET. Данный модуль выполняет итерацию по всем маршрутам в свойстве RouteCollection в поиске маршрута, шаблон URL-адреса которого соответствует формату запроса HTTP. Найдя соответствующий маршрут, модуль извлекает для него объект IRouteHandler. Из обработчика маршрута модуль получает объект IHttpHandler и использует его как обработчик HTTP для текущего запроса.
Но теперь IHttpHandler нужно связать с контроллером. Это делает MvcRouteHandler он связывает MvcHandler с IHttpHandler, методом protected virtual IHttpHandler GetHttpHandler(RequestContext requestContext).
Немного сумбурно получилось. Как видите я тут сам черт ногу сломает. Если вам это действительно интересно, мы можем обсудить это в личке, и позже написать более подробную статью на эту тему.
Куда же деть MvcRouteHandler, Фабрику контролеров, где описать, почему передается управление тому или иному Action, как происходит Binding в модели… Ведь RouteHandler не вызывает HttpHandler( И уж совсем HttpHandler не передает управление Controller:( Я пытаюсь, показать что и как именно происходит. Показываю точки, на которые можно повлиять самому…
Статья выше показывает последовательность, я же лезу между звеньев, и смотрю что происходит там.
Статья выше показывает последовательность, я же лезу между звеньев, и смотрю что происходит там.
Думаю, не все заметили, что на аватарке аффтара моя рука (кажется) ;)
Если по делу, то «Надеюсь теперь у вас сложилась полная картина, о том как работает MVC3 framework.»
Если по делу, то «Надеюсь теперь у вас сложилась полная картина, о том как работает MVC3 framework.»
Sign up to leave a comment.
Жизненный цикл Request в MVC 3 Framework приложении