将Ninject与MVC 3和如何一起使用的最佳方法是什么?
它正在使用控制器工厂?或使用NinjectHttpApplication?
如何获得MVC 3的ninject?我环顾四周,但我似乎无法弄清楚如何获得所需的..mvc.dll
任何例子对我和其他人都有帮助。
谢谢!
答案 0 :(得分:7)
获取Ninject for MVC 3的最佳和最简单的方法是使用Visual Studio中的NuGet包管理器添加NuGet包 Ninject.MVC3 。
这将为您设置所有内容,在您的应用程序中添加App_Start
文件夹,其中包含NinjectMVC3.cs
。此时,由于WebActivator
,所有内容都已作为控制器工厂连接 - 您只需在RegisterServices()
中添加绑定,或者将它们放在一个单独的模块中。
答案 1 :(得分:1)
对我来说,最好的方法是从global.asax中的 NinjectHttpApplication 扩展,然后覆盖 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;
}
...
}