すべては、ユニティ生涯マネジャー&EFデータコンテキスト - >ベストプラクティス
ユニティ生涯マネージャに関する記事がたくさんありましたが、私は、誰かがこれらのケースでは「のために親指の良いルールを述べる見つけるには至っていませんあなたは常にXを使うべきです。私のアプリケーションを記述しましょう、私はASP.NET MVC 4 Webアプリケーションを持っています。私は3つのプロジェクト、私のEFのもの、テストプロジェクト、MVC Webプロジェクトのすべてを持っている私の 'コア'プロジェクトを含むVisual Studioのソリューションを持っています。しかし、私は(私を聞かせて私のコンテキストが、私は私が欲しいと思うものですすべての新しいWebリクエストで再作成されていないことに気づいてい
// Context
container.RegisterType<IDatabaseFactory, DatabaseFactory>(
new ContainerControlledLifetimeManager();
container.RegisterType<UnitOfWork>(
new ContainerControlledLifetimeManager());
を:私は依存性の注入のためのUnityに使用して、今、次のコードを持っています私がその仮定で間違っているかどうかを知る)。私は、下記のサイトからすべての情報を分析するのに苦労しており、これを処理するPerHttpRequestLifetimeManagerという名前の独自のクラスを作成する多くの人について読んでいます。
本当にここでベストプラクティスは何ですか?
-
Microsoftの開発者向けネットワークによって
- 理解生涯マネージャ - CodeProjectの経由生涯Managerとhttp://msdn.microsoft.com/en-us/library/ff660872(v=PandP.20).aspx
- MVC DI &ユニティ - http://www.codeproject.com/Articles/424743/MVC-DI-Unity-with-Lifetime-Manager
- ASP.NET MVCヒント:シジューVargheseさんのブログ経由ユニティアプリケーションブロックとの依存性注入 - http://weblogs.asp.net/shijuvarghese/archive/2008/10/24/asp-net-mvc-tip-dependency-injection-with-unity-application-block.aspx
- MVC、EF - DataContextシングルトンインスタンススタックオーバフローによるUnityのWeb-Per-Request - MVC, EF - DataContext singleton instance Per-Web-Request in Unity
- Inject same DataContexスタックオーバーフローを介してUnityを使用していくつかのタイプに渡ってインスタンス化する - Inject same DataContext instance across several types with Unity
関連:http://stackoverflow.com/questions/10585478/one-dbcontext-per-web-request-why。 – Steven