#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. Вы можете вводить в корень, так как это «нормальное» использование шаблона поиска служб.