У меня есть autofac, настроенный для выполнения зависимостей моих контроллеров MVC asp.net, например:
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, какой контроллер нуждается в "баре" и который нуждается в "baz"?