簡體   English   中英

如何將Autofac和Log4Net與ASP.NET Web API 2應用程序集成

[英]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。

我安裝了AutofacAutofac.WebApi2Autofac.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM