2011-09-17 101 views
1

什麼是使用Ninject與MVC 3和如何使用Ninject和MVC 3的最佳方式是什麼?

它使用控制器工廠?或使用NinjectHttpApplication?

如何獲取ninject的MVC 3?我環顧四周,但我似乎無法弄清楚如何獲得所需的..mvc.dll

任何例子將有助於我和其他人。

謝謝!

回答

7

獲得Ninject for MVC 3的最好和最簡單的方法是使用Visual Studio中的NuGet Package Manager添加NuGet包Ninject.MVC3

這將爲您設置一切,爲您的應用程序添加一個App_Start文件夾,其中包含NinjectMVC3.cs。在這一點上,所有的東西都已經作爲控制器工廠了,這要歸功於WebActivator - 您只需在RegisterServices()中添加綁定即可,或者將它們放在單獨的模塊中。

+0

什麼愛維穩特在把他們單獨的模塊中,還什麼一個模塊? – Rushino

+1

@Rushino:Ninject模塊允許您在自己的類中封裝一組綁定 - 有關完整的解釋,請參閱此SO線程:http://stackoverflow.com/questions/2056409/what-is-the-intention-of -ninject模塊 – BrokenGlass

1

對我來說,最好的辦法是從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; 
    } 

    ... 
} 
相關問題