使用WebApi和结构图依赖注入 [英] Using WebApi and structure map dependency injection
问题描述
尽管关于堆栈溢出的问题如此之多,与我的问题类似,但没有人能解决我的问题
我正在使用MVC4互联网应用程序,其中我只有几个MVC控制器,对于依赖项注入,我正在使用结构图
.虽然依赖项注入在MVC控制器中可以正常工作,但是当我在同一MVC Internet应用程序中添加WebApi控制器并在WebApi控制器的构造函数中使用与在MVC控制器中使用的参数相同的参数时,尽管依赖项注入不适用于WebApi控制器,但是如果我不对WebApi控制器(无参数构造函数)使用依赖注入,那么它可以正常工作,但是对于WebApi依赖项注入(参数化构造函数),它将抛出错误找不到参数少的构造函数
./p>
未在Internet(MVC应用程序)中为WebApi控制器注入结论约束.
很少有文章建议使用 DependencyResolver.SetResolver()
.我曾经使用过但未能解决问题.
WebApi控制器不起作用的原因如下:
由于MVC Controller使用不同的DependenyResolver实例,该实例是System.Web.MVC .dll的一部分,并且在System.Web.MVC命名空间之内
http://msdn.microsoft.com/zh-cn/library/system.web.mvc.idependencyresolver(v=vs.98).aspx
Api控制器在哪里使用DependencyResolver实例,该实例是System.Web.Http的一部分.
The reason why WebApi controller were not working is as following:
Since MVC Controller uses different DependenyResolver instance that is the part of System.Web.MVC .dll and within the System.Web.MVC namespace
http://msdn.microsoft.com/en-us/library/system.web.mvc.idependencyresolver(v=vs.98).aspx
Where as Api Controllers uses DependencyResolver instance that is part of System.Web.Http.
这篇关于使用WebApi和结构图依赖注入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!