[英]How to Integrate Autofac and Log4Net with ASP.NET Web API 2 Application
在過去的幾個小時里,我一直在試圖集成Autofac和ASP.NET Web API 2應用程序。 我一直在關注Autofac和它的wiki 與ASP.NET Web API集成 。
但很明顯,這個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);
嘗試使用Autofac.WebApi5 nuget(確保使用安裝候選包的語法)而不是Autofac.WebApi2包。 然后使用Global.asax.cs中的代碼初始化它:
IocContainer container = // code to create your container
GlobalConfiguration.Configuration.DependencyResolver =
new AutofacWebApiDependencyResolver(container);
這個設置適用於MVC5 / API2項目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.