在過去的幾個小時裏,我嘗試將Autofac和ASP.NET Web API 2應用程序集成在一起。我一直在關注Autofac和它的維基在Integrating with ASP.NET Web API。如何將Autofac和Log4Net與ASP.NET Web API 2集成應用程序
但很明顯,這個wiki對於Web API 2已經過時了。有沒有人有辦法配置我的應用程序來使用Autofac?我只是放棄並回到Ninject。
我已經安裝了Autofac,Autofac.WebApi2和Autofac.Mvc5
我無法撥打以下
containerBuilder.RegisterApiControllers(Assembly.GetExecutingAssembly());
.InstancePerApiRequest();
不可達。事實上,我試圖用名稱中的Api調用的任何內容都沒有定義。 (如RegisterApiControllers, AsWebApiActionFilterFor, RegisterWebApiFilterProvider, InstancePerApiRequest, InstancePerApiControllerType
)
此外,我正在嘗試使用Log4Net,並且我已經實現了該模塊的wiki,現在在wiki中顯示的LoggingActionFilter中,我將如何替換該行,因爲Log4Net不包含定義爲Write
_logger.Write(actionContext.ActionDescriptor.ActionName);
它確實沒有區別。我需要的是一個更新的wiki或與web api兼容的說明2 – Komengem
@KomengeMwandila根據alexmg(autofac的創建者),WebApi5 nuget是[使用的](https://groups.google.com/d/)。 MSG/autofac/ASmqK4TzEos/PjY837sjdDQJ)。你可以閱讀更多關於[這些]中的web api包(http://alexmg.com/new-features-in-the-autofac-mvc-4-and-web-api-beta-integrations/)[two] (http://alexmg.com/autofac-262859-and-aspnet-mvc-4-rc-integrations-released/)博客文章。上述設置在我的答案是爲我工作。當你嘗試時會發生什麼?你能發佈代碼或錯誤消息嗎? –
看起來現在所有東西都可以工作,出於某種原因,我沒有得到'Autofac.Integration.WebApi;'命名空間。另外請注意,與您提到的web api 5軟件包相比,Web API 2是最新的軟件包。我比較了發佈日期。 – Komengem