Автоматическая регистрация и разрешение MVC 3

#asp.net-mvc-3 #dependency-injection #autofac

#asp.net-mvc-3 #внедрение зависимостей #автофаков

Вопрос:

Я занят тем, что узнаю больше о DI и использовании Autofac в MVC3.

В global.ashx я регистрирую все свои типы.

Например, в статическом расширении HtmlHelper, как бы вы выполнили разрешение экземпляра? Как и где вы храните контейнер для разрешения экземпляра? Могу ли я просто поместить IContainer, который я получаю при инициализации приложения из builder.Build() , в статическую переменную?

Ответ №1:

Существует пакет nuget autofac. Ознакомьтесь с более подробной информацией в разделе Использование Autofac в ASP.NET Приложения MVC 3 на:

autofac — мой выбор контейнера ioc

Я бы не стал выполнять DI через помощника здесь, я бы ввел все, что могу, в контроллер, иначе вы вносите свой вклад в антишаблон service locator. Вы можете вводить в корень, так как это «нормальное» использование шаблона поиска служб.