I have autofac set up to do dependency injection of my asp.net MVC controllers, like so:
System.Web.Mvc.DependencyResolver
.SetResolver(new AutofacDependencyResolver(container));
And it is working fine. However, I have several implementations of an interface (say, IFoo
) that I want to register as named instances:
builder.Register<Bar>(c => new Bar()).Named<IFoo>("bar");
builder.Register<Baz>(c => new Baz()).Named<IFoo>("baz");
...
And I have several controllers which take an IFoo
in their constructor. But each controller needs a different concrete implementation of IFoo
. How can I tell autofac which controller needs "bar" and which needs "baz"?