2010-11-26 10 views
0

UnityContainerには、一度作成して今後のすべてのコンテナインスタンスに再利用するCacheManagerのインスタンスが含まれている必要があります。Unity + Caching:シングルトンであるべきオブジェクトインスタンスを保持する方法

私は、必要なときに新しいUnityContainerインスタンスを作成しています( 'CreateChildContainer'は使用されません)。

キャッシュマネージャを含む静的メンバーを作成し、インスタンスを登録しました。私はUnityContainerの単一のインスタンスを作成し、「ContainerControlledLifetimeManager」オプションであってCacheManagerのインスタンスを登録する場合は、この上で探し

半年後、私は静的メンバーを好きではない...

それが動作します?

もっと良い方法がありますか?

ありがとうございました。

+0

私はContainerControlledLifetimeManagerを使用することをお勧めします.... –

答えて

1

コンテナのインスタンスを保持し、ContainerControlledLifetimeManagerを使用します。たくさんのコンテナを作成するとパフォーマンスが低下します。

+0

しかし、私はいくつかのアイテム(DBへの接続のような)が要求中にのみ生きて、それぞれの新しいリクエスト(ASP.NETウェブサイト)。これは、独自の目的のためにDBへの接続を登録する 'CreateChildContainer'を持つ新しいコンテナを作成する単一のコンテナを使用して行うことができますか? – Budda

+0

これを行うことも、別々のPerRequestLifetimeManagerと単一のコンテナを使用することもできます。 –

関連する問題