Как стать автором
Обновить
6
0

Пользователь

Отправить сообщение
Я соглашусь с вами, все же я тоже использую autofack, ни сколько из-за возможностей, сколько из-за качества исполнения этих возможностей. В данной ситуации Unity смотрится убого. Но не смотря на это возможности Unity, Ninject, Autofack примерно равны.
Собственно сейчас что Unity, что Ninject, что Autofack представляют примерно одинаковый функционал. Похожая реализация на Unity.
var servicesAssembly = Assembly.GetAssembly(typeof (IService));

            foreach (var type in servicesAssembly.GetTypes()
                .Where(t => t.Name.EndsWith("Service") && t.IsClass))
            {
                var interfaceType = type.GetInterfaces().FirstOrDefault(i => i.Name.EndsWith("Service") &&                                                                             !(i.Namespace ?? string.Empty).EndsWith("Base"));
                if (interfaceType != null)
                {
                    container.RegisterType(interfaceType, type);
                }
            }
Нашел более адекватно описание здесь. Как ведите ваша схема ну очень далека от реальности…
Куда же деть MvcRouteHandler, Фабрику контролеров, где описать, почему передается управление тому или иному Action, как происходит Binding в модели… Ведь RouteHandler не вызывает HttpHandler( И уж совсем HttpHandler не передает управление 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).
Немного сумбурно получилось. Как видите я тут сам черт ногу сломает. Если вам это действительно интересно, мы можем обсудить это в личке, и позже написать более подробную статью на эту тему.
Приношу извинения, я постараюсь привести пост в нормальный вид.
Понял, спасибо название исправил.

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность