У меня есть autofac, настроенный для внедрения зависимостей моих контроллеров asp.net MVC, например:
System.Web.Mvc.DependencyResolver
.SetResolver(new AutofacDependencyResolver(container));
И он работает нормально. Однако у меня есть несколько реализаций интерфейса (скажем, IFoo
), которые я хочу зарегистрировать как именованные экземпляры:
builder.Register<Bar>(c => new Bar()).Named<IFoo>("bar");
builder.Register<Baz>(c => new Baz()).Named<IFoo>("baz");
...
И у меня есть несколько контроллеров, которые принимают IFoo
в своем конструкторе. . Но для каждого контроллера нужна своя конкретная реализация IFoo
. Как я могу сказать autofac, какой контроллер нуждается в «bar», а какой в «baz»?