MVC5、WebAPI2和Ninject无参数构造函数错误



所以我有与MVC5、Web API 2和Ninject 完全相反的问题

我有一个新的MVC5/WebAPI2项目,它有"控制器"one_answers"ApiControllers"。

我正在使用最新的不稳定版本的Ninject。网状物没有对NinjectDependencyResolve.cs和Ninject进行代码更改的WebAPI。WebCommom.cs(除了绑定我的依赖项之外)ApiController的构造函数注入是有效的。然而,当我调用MVC控制器时,我得到:

没有为此对象定义无参数构造函数。

问题是您需要一个MVC和WebAPI的依赖解析程序。根据您使用的是哪一组Ninject库,您只能获得其中一个。

即,如果您使用Ninject。网状物您需要手动设置MVC解析器的WebAPI库:

System.Web.Mvc.DependencyResolver.SetResolver(new NinjectResolver(kernel)); 

(我在NinjectWebCommon.csCreateKernel()中完成了此操作)

您的Ninject解析器可以继承WebAPI和MVC的接口:

public class NinjectResolver : NinjectScope, 
System.Web.Http.Dependencies.IDependencyResolver, 
System.Web.Mvc.IDependencyResolver

相关内容

最新更新