什么是使用Ninject与MVC 3和如何?使用Ninject和MVC 3的最佳方式是什么?
它使用控制器工厂?或使用NinjectHttpApplication?
如何获取ninject的MVC 3?我环顾四周,但我似乎无法弄清楚如何获得所需的..mvc.dll
任何例子将有助于我和其他人。
谢谢!
什么是使用Ninject与MVC 3和如何?使用Ninject和MVC 3的最佳方式是什么?
它使用控制器工厂?或使用NinjectHttpApplication?
如何获取ninject的MVC 3?我环顾四周,但我似乎无法弄清楚如何获得所需的..mvc.dll
任何例子将有助于我和其他人。
谢谢!
获得Ninject for MVC 3的最好和最简单的方法是使用Visual Studio中的NuGet Package Manager添加NuGet包Ninject.MVC3。
这将为您设置一切,为您的应用程序添加一个App_Start
文件夹,其中包含NinjectMVC3.cs
。在这一点上,所有的东西都已经作为控制器工厂了,这要归功于WebActivator
- 您只需在RegisterServices()
中添加绑定即可,或者将它们放在单独的模块中。
对我来说,最好的办法是从NinjectHttpApplication在Global.asax以加长,然后覆盖的iKernel CreateKernel()方法
public class MvcApplication : NinjectHttpApplication {
...
...
protected override IKernel CreateKernel() {
var kernel = new StandardKernel();
kernel.Load(Assembly.GetExecutingAssembly());
// Register services with Ninject DI Container
kernel.Bind<IFileSystemService>().To<FileSystemService>();
return kernel;
}
...
}
什么爱维稳特在把他们单独的模块中,还什么一个模块? – Rushino
@Rushino:Ninject模块允许您在自己的类中封装一组绑定 - 有关完整的解释,请参阅此SO线程:http://stackoverflow.com/questions/2056409/what-is-the-intention-of -ninject模块 – BrokenGlass