什麼是使用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