2011-02-07 3 views
3

マイアプリは ウェブ データ サービス POCOエンティティ サービス(私も注入される必要があると仮定)リポジトリを使用マルチプロジェクトmvcアプリケーションでninjectをどのように使うべきですか?

コントローラは、サービスを利用する(ので、彼らが注入されなければならない)このように設定されて

Iこれは既に設定されているので、コントローラはNinjectを介して必要なサービスを受け取れるようになりますが、サービスでこれをどうにかするのかよく分かりません=>リポジトリ

助けてください。

答えて

1

Bobには、NinjectとNHibernateのリポジトリパターンに関するブログがいくつかあります。これは、他のすべてのORマッパーのためにほとんど同じです:あなたはninject.web.mvc拡張子を使用することができ

http://blog.bobcravens.com/2010/06/the-repository-pattern-with-linq-to-fluent-nhibernate-and-mysql/

http://blog.bobcravens.com/2010/07/using-nhibernate-in-asp-net-mvc/

http://blog.bobcravens.com/2010/09/the-repository-pattern-part-2/

1

。これには、Global.asaxにコンテナを登録する方法を示すサンプルアプリケーションが含まれています。

-1

サービスの依存関係とコントローラの依存関係を設定するだけです。 Ninjectは依存関係のチェーンを歩き、それらのすべてを解決します。例えば

ProductControllerISessionに依存しているNHibernateProductRepositoryで実装されIProductRepository IProductRepositoryに依存しているProductServiceで実装されIProductService IProductServiceに依存しています。

NinjectControllerFactoryProductControllerを解決しようとすると、IProductServiceに依存しています。その依存関係をProductServiceと解決し、IProductRepositoryに依存していることがわかります。それは完全に議論を解決することができるまでチェーンの下で続けます。

重要な部分は、コントローラ内の依存関係だけでなく、すべての依存関係をバインドすることです。

+0

私は理解しています。私はさらに別の質問で私の問題を説明しました...問題は、私のWebアプリケーションがデータプロジェクトを参照していないということです。 http://stackoverflow.com/questions/4939100/help-with-ninject-in-mvc3 – ignaciofuentes

関連する問題