2011-09-17 12 views
1

MVC 3でNinjectを使用する最も良い方法は何ですかどのようにMVC 3でNinjectを使用する最良の方法は何ですか?

コントローラ工場を使用していますか?またはNinjectHttpApplicationを使用していますか?

MVC 3のninjectを取得するにはどうすればよいですか?私は周りを見回しましたが、私はどのように必要な..mvc.dllを取得するのか分からないようです。

私と他の人にとって参考になるものがあります。

ありがとうございます!

答えて

7

Ninject for MVC 3を入手する最も簡単な方法は、Visual Studio内のNuGet Package Managerを使用してNuGetパッケージNinject.MVC3を追加することです。

これはすべてあなたのために設定し、を含むアプリケーションにApp_Startフォルダを追加します。この時点では、コントローラ工場としてWebActivatorのおかげですべてが既に繋がっています。あなたはバインディングをRegisterServices()に追加することも、別々のモジュールに入れることもできます。

+0

も何別々のモジュールでそれらを置くことでAvantageは、どのようなことですモジュール? – Rushino

+1

@Rushino:Ninjectモジュールでは、独自のクラスにカプセル化された一連のバインディングを持つことができます。詳細は、このSOスレッドを参照してください。http://stackoverflow.com/questions/2056409/what-is-the-intention-of -ninject-modules – BrokenGlass

1

私にとって最良の方法は、Global.asaxの中NinjectHttpApplicationからexted、その後の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; 
    } 

    ... 
} 
関連する問題