2

ASP.NET MVC3アプリケーションでは、コントローラは一連のBL「マネージャ」クラスを使用して、リポジトリを使用します。これらのリポジトリは、EF DbContextインスタンスに依存してその任務を実行します。リポジトリインスタンスでのDbContextのインスタンス化

私は

Bind<StoreContext>().ToSelf().InRequestScope(); 
Bind<ICatUserRepository>().To<GenericUserRepository>().InRequestScope(); 

StoreContextDbContextである(データモジュールに)依存性注入に以下の方法を実行するためにIoCコンテナを設定する予定です。これは、コンストラクタ注入されてGenericUserRepositoryに挿入されます。 この方法では、私はthe rule of my DbContext to be instantiated in also PerRequestが満たされたままであると思いますか?

答えて

1

はい、確かにそうです。ICatUserRepositoryがリクエストスコープレベルで解決されるため、コンストラクタインジェクションの依存関係を解決した後で、(要求ごとに)IoCコンテナが新しいインスタンスGenericUserRepositoryを作成します。 StoreContext依存関係の解決

IoCコンテナは、StoreContextのための結合を介して行くことを意味し、すでに現在のリクエストためStoreContextの既存のインスタンスがあるかどうかを確認して注入する新しいコピーを作成しない場合 - あなたのケースではつまり、新しいリクエストごとにStoreContextという新しいインスタンスが作成されます。

関連する問題