11
autofac命名註冊使用我autofac設置做我的asp.net MVC控制器的依賴注入,像這樣:與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」?
謝謝,這是有效的。偶爾一個控制器需要多個'IFoo' - 我可以指定哪個參數名稱指向哪個命名實現? – 2012-03-02 19:12:22
我已經更新了我的答案。 – nemesv 2012-03-02 20:20:27