Asp.net mvc NinjectDependencyResolver是如何连接的?

Asp.net mvc NinjectDependencyResolver是如何连接的?,asp.net-mvc,ninject,Asp.net Mvc,Ninject,我已经使用NugetNinject.MVC3包将Ninject集成到一个MVC4项目中。我可以看到App\u Start现在包含一个名为NinjectWebCommon的类,带有一个“引导程序”。按照标准指令,我可以将接口的具体实例注入控制器,调试器向我显示,这是由NinjectDependencyResolver类提供的 但是:我无法通过插入Ninject代码来发现,使用标准的DependencyResolver.SetResolver方法将这个NinjectDependencyResolve

我已经使用Nuget
Ninject.MVC3
包将Ninject集成到一个MVC4项目中。我可以看到
App\u Start
现在包含一个名为
NinjectWebCommon
的类,带有一个“引导程序”。按照标准指令,我可以将接口的具体实例注入控制器,调试器向我显示,这是由
NinjectDependencyResolver
类提供的


但是:我无法通过插入Ninject代码来发现,使用标准的
DependencyResolver.SetResolver
方法将这个
NinjectDependencyResolver
类设置为
IDependencyResolver
。所以我不确定我是否只是无能,或者是否有另一种方式让我上瘾。有人能告诉我吗?

IDependencyResolver与asp.net MVC框架一起提供,允许在控制器和其他组件中实现依赖注入(asp.net MVC内部使用它)

我不会在这里解释好处,但你可以阅读一篇很好的介绍

将IoC框架(Ninject、Unity、StructureMap等)添加到MVC中时,必须使用
IDependencyResolver
的实现将IoC代码插入本机依赖项解析器。 DependencyResolver静态类是注册点,尤其是
DependencyResolver.SetResolver(IDependencyResolver resolver)

但是现在,许多Ioc框架都附带了一个MVC集成包,比如Ninject.MVC-our-StructureMap.MVC。这对我们来说更容易(而且通常更健壮),而且您实际上不需要知道它是如何完成的


快速查看in repositoty将向您展示胶水。

谢谢。。。那么NinjectMvcHttpApplicationPlugin是如何连接的呢?它是一个添加到Ninject MVC主模块的Ninject插件,谢谢-我现在明白了,它添加在以下几行中:IEnumerable all=Bootstrapper.kernelInstance.Components.GetAll();all.Map((InInjectHttpApplication插件c)=>c.Start());