asp.net-web-api – MVC Web API不能与Autofac集成
我使用autofac的MVC集成,如下所示:
... var container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); 但现在我想用新的Web Api RTM重新创建解决方案。 但是如果我这样做与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应用程序中禁用IP地址(或一系列地址)吗?
- asp.net – 单元测试Web服务 – HttpContext
- ASP.NET Web.config AppSettings性能
- asp.net – 如果我不限制文件上传到网络服务器的最大请求长
- ASP.NET连接字符串到本地SQL Server数据库,使用web.config
- 在asp.net.mvc中,什么是正确的方法来引用css内的图像
- asp.net-web-api – WebApi 2超出最大请求长度
- vsdoc文件是否适用于vbscript?
- asp.net-mvc-4 – PartialView()不返回带下划线的View
- asp.net mvc 之旅 —— 第五站 从源码中分析asp.net mvc 中
- asp.net-2.0 – 如何在生产环境中删除临时ASP.ne
- 安装时安装Asp.Net SignalR错误
- ASP.NET AJAX中的$create函数是什么?
- 使用Asp.Net文本框的Bootstrap Datepicker
- asp.net-mvc – ASP.NET MVC会话超时,绝对还是滑
- asp.net-web-api – 从OWIN中间件更改响应对象
- asp.net-core – 使用ASP.NET Core后端服务器验证
- 是否可以在ASP.NET 5的Web API中使用外部身份提供
- asp.net-mvc – RedirectToAction导致在ASP.NET
- asp.net-core-mvc – ASP.NET MVC6 Beta8和Windo