ho autofac impostare fino a fare l'iniezione di dipendenza dei miei controllori MVC ASP.NET, in questo modo:Usa nome di registrazione in autofac con MVC integrazione iniezione Controller
System.Web.Mvc.DependencyResolver
.SetResolver(new AutofacDependencyResolver(container));
E si sta lavorando bene. Tuttavia, ho diverse implementazioni di un'interfaccia (ad esempio, IFoo
) che voglio iscrivermi come istanze denominate:
builder.Register<Bar>(c => new Bar()).Named<IFoo>("bar");
builder.Register<Baz>(c => new Baz()).Named<IFoo>("baz");
...
E ho diversi controllori che prendono un IFoo
nella loro costruttore. Ma ogni controller necessita di una diversa implementazione concreta di IFoo
. Come posso dire a autofac di quale controller ha bisogno di "bar" e che ha bisogno di "baz"?
Grazie, funziona. Occasionalmente un controller ha bisogno di più di un 'IFoo' - posso specificare quale nome del parametro va a quale implementazione nominata? –
Ho aggiornato la mia risposta. – nemesv