工作,我用從autofac MVC的整合是這樣的:MVC的Web API不Autofac集成
...
var container = builder.Build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
但現在我要重新與新的網絡API RTM的解決方案。 我想使用新的AutofacWebApiDependencyResolver類。
但如果我這樣做與AutofacWebApiDependencyResolver我得到這個錯誤:
The type Autofac.Integration.WebApi.AutofacWebApiDependencyResolver does not appear to implement Microsoft.Practices.ServiceLocation.IServiceLocator.
我讀,我必須現在設置解析器做到這一點:
GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container);
但是,如果我把它'=',它沒有設置。它仍然是DefaultResolver ...
如果我再次使用MVC AutofacDependencyResolver類,它將起作用。
autofac和web api rtm仍然存在問題嗎? (目前的集成是RC版)
我再次使用AutofacDependencyResolver對我的工作。感謝您的信息。有一些參考鏈接嗎?微軟/ autofac解釋了這一點嗎?是使用ApiControler的,但是如果我想將DependecyResolver強制轉換爲AutofacWebApiDependencyResolver,它會失敗。 – user437899
這似乎是,如果我通過DependencyResolver.Curren訪問解析器,我得到MVC解析器。 WebApiResolver semms負責將參數注入ApiControllers。如果我想解決控制器方法中的任何類型,我必須使用MVC Resovler – user437899
@Max抱歉,我兩次都遲到了,其他社區成員拒絕了您的編輯,因爲它雖然增加了一個優點,但您應該留下評論相反(我知道你沒有足夠的聲譽,但它並不遙遠),因爲處理回覆編輯的政策非常嚴格,審稿人認爲你想改變我的答案太多。無論如何感謝您在我的建議中編輯的幫助。 – nemesv