我正在学习如何使用Ninject并且我理解它的基本原理,但是我应用它的第一个项目是一个MVC 5项目,需要在控制器上进行一些构造函数注入。
我跟踪了网站上的guid,即
这就像一枚炸弹一样,但是根据我的喜好,这里只有太多的黑魔法。
我已经解决了因为WebActivator.PreApplicationStartMethod,NinjectWebCommon的start方法在开始时被调用,我的绑定得到了设置。我对此很酷,但我感到困惑的是,kernal.get方法是如何被调用的,以及谁在构造函数中使用参数调用我的控制器(如果我没有Ninject,通常会抛出一个讨厌的运行时错误)。
我只能假设某个地方ninject正在使用内核来实例化我的控制器(这反过来会依赖我的界面,然后向下移动以解决所有其他界限)
但这会发生在哪里?
* 在后台排队令人毛骨悚然的伏都教音乐 *
答案 0 :(得分:2)
在NinjectDependencyResolver中
答案 1 :(得分:0)
它也发生在我身上,但在我的情况下我只是做了
1)。我拉了Nuget套餐 2)。我创建了一个接受参数
的构造函数它有效。我没有在NinjectWebCommon的RegisterServices中添加任何内容。
我还在NinjectWebCommon的开头设置了一个断点,但它没有被击中。