3

Ninject の機能の一部を理解し、IoC に使用できました。

NuGet を使用して VS2010 のプロジェクトに Ninject への参照を追加しようとすると、リストに他の Ninject 拡張機能が表示されます。特にNinject.MVC3. 拡張機能の下の Ninject Web サイト ( http://www.ninject.org/extensions.html ) にも、Ninject.Web.Mvc があります。

MVC3 アプリケーションを作成している場合、Ninject のこの拡張機能を使用する必要がありますか? クラス/インターフェースを使用したIoC用のNinjectの基本的な使用には、標準ライブラリ以外の何かが必要ですか?

MVC3 プロジェクトでの Ninject と Ninject.MVC3/Ninject.Web.Mvc の違いは何ですか?

4

1 に答える 1

5

ninject.web.mvcASP MVC (3) アプリケーションの ninject (コア) 補完です。基本的には、ASP MVC プロジェクトで Ninject を使用する場合に使用する必要があります。

ドキュメントから:

この拡張機能により、Ninject コアと ASP.NET MVC プロジェクト間の統合が可能になります。これを使用するには、HttpApplication (通常は Global.asax.cs 内) を作成して NinjectHttpApplication を拡張します。

MVC 3 拡張機能には、DI コンポジション ルートを MVC アプリケーションに接続するための重要なメソッドが含まれています。これは、Ninject が、他のコンポーネントに依存するコントローラーのインスタンス化を担当することを意味します (NinjectsDefaultControllerFactoryは、作成することしかできない使用を「オーバーライド」します)。パラメーターなしのコンストラクターを持つコントローラー)。

ドキュメントには、その方法の2つの方法が記載されています.inを拡張するかNinjectHttpApliaction、フォルダー内のクラスglobal.asaxを使用します。NinjectWebCommonApp_Start

に必要なninject.web.common拡張子もありninject.web.mvcます。たとえば、 の定義が含まれていますInRequestScope

于 2013-03-31T19:12:33.597 に答える