asp.Net   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net-web-api – MVC Web API不能与Autofac集成大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_607_1@我使用autofac的MVC集成,如下所示:
...
var container = builder.build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

但现在我想用新的Web Api RTM重新创建解决方案。
而且我想使用新的AutofacWebApiDependencyResolver类。

但是如果我这样做与AutofacWebApiDependencyResolver我得到这个错误:

我读了,现在我必须这样做来设置解析器:

GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container);

但是如果我使用’=’设置它,则不会设置。它仍然是DefaultResolver …

如果我再次使用MVC AutofacDependencyResolver类,它可以工作。

自动装载机和网络应用程序仍然存在问题? (目前的一体化是RC版)

解决方法

ASP.Net Wep.API和ASP.NET MVC使用两个不同的IDependencyResolver(因为他们设计的Wep.API不依赖于ASP.NET MVC),所以你需要设置两者:
var container = builder.build();
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
GlobalConfiguration.Configuration.DependencyResolver = 
     new AutofacWebApiDependencyResolver(container);

因此,需要使用AutofacDependencyResolver来将常规MVC控制器派生控制器注入。

并且需要AutofacWebApiDependencyResolver来将依赖关系注入到Web.API ApiController派生控制器中。

并且不要忘记在您的容器构建器中使用调用注册您的Api控制器(与通常的builder.RegisterControllers方法不同):

builder.RegisterApiControllers(Assembly.GetExecuTingAssembly());

大佬总结

以上是大佬教程为你收集整理的asp.net-web-api – MVC Web API不能与Autofac集成全部内容,希望文章能够帮你解决asp.net-web-api – MVC Web API不能与Autofac集成所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。