sea*_*ght 3 c# ninject ninject.web.mvc asp.net-mvc-3
我了解Ninject的某些功能,并且已经能够将其用于IoC。
当我使用NuGet将对Ninject的引用添加到VS2010中的项目中时,我会在列表中看到其他Ninject扩展。特别是Ninject.MVC3。同样在Ninject网站上的扩展名(http://www.ninject.org/extensions.html)上,我看到了Ninject.Web.Mvc。
如果我正在创建MVC3应用程序,是否需要使用Ninject的此扩展?我对Noject for IoC的类/接口的基本使用是否需要标准库以外的内容?
MVC3项目中的Ninject和Ninject.MVC3 / Ninject.Web.Mvc有什么区别?
ninject.web.mvc
是ASP MVC(3)应用程序的ninject(核心)补充。基本上-如果要在ASP MVC项目中使用Ninject,则应使用它。
从文档中:
此扩展允许在Ninject核心和ASP.NET MVC项目之间进行集成。要使用它,只需使您的HttpApplication(通常在Global.asax.cs中)扩展NinjectHttpApplication:
MVC 3扩展包含将DI合成根连接到MVC应用程序的关键方法-这意味着Ninject将负责实例化您的控制器,该控制器依赖于其他组件(Ninjects“替代”其使用DefaultControllerFactory
只能创建具有无参数构造函数的控制器)。
在文档中,提到了两种方法,即:扩展NinjectHttpApliaction
in global.asax
或使用文件夹NinjectWebCommon
内的类App_Start
。
也有ninject.web.common扩展名,这是必需的ninject.web.mvc
。它包含例如的定义InRequestScope
。
归档时间: |
|
查看次数: |
2188 次 |
最近记录: |