2012-05-10 6 views

答えて

0

現在メモリ内にあるキャッシュインスタンスを参照せずに取得する方法はありません。

解決策は、自分でリストを作成し、そのように追跡することです。

List<System.Runtime.Caching.MemoryCache> cacheInstances = new List<System.Runtime.Caching.MemoryCache>(); 

は、それからちょうど新しいMemoryCacheオブジェクトが作成されたときに、そのリストに追加する(そして、それが破壊されたときに削除します)。

MemoryCacheは魔法の何もない、あなたが使用したときだけ改善と考えることができます:

Dictionary<String, Object> myCache 

またはその代わりhashtable

MemoryCacheの利点は、オブジェクトの有効期限(TTL)を取得し、キャッシュが一部のストレージ制限(アクセス優先度キュー)に近づいたときに、あまり使用されていないアイテムを削除することです。

MemoryCacheインスタンスが現在メモリにあることを知りたい場合は、それらを参照する必要があります。異なるプロセスのメモリキャッシュにアクセスできないため、作成するMemoryCachesのみが存在することを確信しています。