Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将Autofac和Log4Net与ASP.NET Web API 2应用程序集成_C#_Asp.net_Asp.net Web Api_Autofac_Asp.net Mvc 5 - Fatal编程技术网

C# 如何将Autofac和Log4Net与ASP.NET Web API 2应用程序集成

C# 如何将Autofac和Log4Net与ASP.NET Web API 2应用程序集成,c#,asp.net,asp.net-web-api,autofac,asp.net-mvc-5,C#,Asp.net,Asp.net Web Api,Autofac,Asp.net Mvc 5,在过去的几个小时里,我一直在尝试集成Autofac和ASP.NET Web API 2应用程序。我一直在关注和及其wiki 但是很明显,这个wiki对于WebAPI2来说已经过时了。是否有人能将我的应用程序配置为使用Autofac?我只是想放弃,回到Ninject 我已安装,并且 我不能打电话给下面的人 containerBuilder.RegisterAppicController(Assembly.getExecutionGassembly()) .InstancePerApiRequest

在过去的几个小时里,我一直在尝试集成Autofac和ASP.NET Web API 2应用程序。我一直在关注和及其wiki

但是很明显,这个wiki对于WebAPI2来说已经过时了。是否有人能将我的应用程序配置为使用Autofac?我只是想放弃,回到Ninject

我已安装,并且

我不能打电话给下面的人

containerBuilder.RegisterAppicController(Assembly.getExecutionGassembly())

.InstancePerApiRequest()无法访问。事实上,我试图以Api的名义调用的任何东西都没有定义。(例如
RegisterApicController、ASWebApiationFilterFor、RegisterWebApiFilterProvider、InstancePerApirRequest、InstancePerApicController类型

另外,我正在尝试使用Log4Net,并且我已经按照wiki实现了模块,现在在wiki中显示的LoggingActionFilter中,由于Log4Net不包含
Write

\u logger.Write(actionContext.ActionDescriptor.ActionName)

尝试使用nuget(确保使用安装候选发行版软件包的语法)而不是Autofac.WebApi2软件包。然后在Global.asax.cs中使用如下代码对其进行初始化:

IocContainer container = // code to create your container
GlobalConfiguration.Configuration.DependencyResolver = 
    new AutofacWebApiDependencyResolver(container);

这个设置在MVC5/API2项目中对我有效。

它真的没有什么区别。我需要的是一个更新的wiki或使用web api的说明2@KomengeMwandila根据alexmg(autofac的创建者)的说法,WebApi5 nuget是。您可以在博客文章中阅读有关WebAPI包的更多信息。我的回答中的上述设置对我有效。当你尝试它时发生了什么?你能发布代码或错误消息吗?看起来一切都能正常工作了,因为某种原因我没有得到
Autofac.Integration.WebApi名称空间。另外,请注意,与您提到的WebAPI5包相比,WebAPI2是最新的包。我比较了发布日期。在.NET找不到GlobalConfiguration.Configuration.DependencyResolver时为我工作。谢谢+1.