tengo autofac creado para hacer la inyección de dependencias de mis controladores de ASP.NET MVC, así:Uso nombrado inscripción en autofac con MVC integración de inyección controlador
System.Web.Mvc.DependencyResolver
.SetResolver(new AutofacDependencyResolver(container));
Y está funcionando bien. Sin embargo, tengo varias implementaciones de una interfaz (por ejemplo, IFoo
) que desea registrar como instancias con nombre:
builder.Register<Bar>(c => new Bar()).Named<IFoo>("bar");
builder.Register<Baz>(c => new Baz()).Named<IFoo>("baz");
...
y tengo varios controladores que tienen un IFoo
en su constructor. Pero cada controlador necesita una implementación concreta diferente de IFoo
. ¿Cómo puedo decirle a autofac qué controlador necesita "barra" y cuál necesita "baz"?
Gracias, eso funciona. Ocasionalmente, un controlador necesitará más de un 'IFoo': ¿puedo especificar qué nombre de parámetro va a qué implementación nombrada? –
He actualizado mi respuesta. – nemesv