2012-01-17 8 views
0

私は、.NET Frameworkのオブジェクトキャッシュ(System.Runtime.Caching)APIを見ていたと私はキャッシュされたオブジェクトへの「タグ」を取り付けるための任意のサポートは表示されません。の.Net Frameworkの4オブジェクトキャッシングとタグ

私は、キャッシュされたオブジェクトにタグを付け、その後、タグに基づいてオブジェクトを取得サポートできるのAppFabricと同様のAPIを探していました。これを達成することができますSystem.Runtime.Cachingの上に構築された任意の公に利用可能なライブラリが

ありますか?

答えて

0

System.Runtime.Caching名前空間を調べたところ、タグ付けを含めるように拡張することは(非常に難しいとは限りませんが)難しいと思います。あなたはキャッシュの基底クラスであるように思わObjectCacheためmembers、見れば(あなたが.NET 4.5 previewを見れば、ノー今後の支援のいずれか)、タグの方法ではサポートされていません。

明らかな方法は、タグを提供するために、オーバーロードすることができますが、CacheItemは、その後も、タグのプロパティを追加する拡張必要があります。私は、AppFabricのでサポートされているGetObjectsByTag/ByAllTags/ByAnyTagに似たタグベースの検索方法のいずれかの種類のために、キャッシュはすべてCacheItemsを反復処理し、それらを持っていない可能性があります一つずつ調べるに減少するであろうことを、次に心配するだろうあなたが望むかもしれないパフォーマンスに影響を与えます(ただし、データベースベースのキャッシュにはこの点で利点があることがわかります)。

サポートはタグのDefaultCacheCapabilities列挙で(そして再び、いずれも今後の)もありませんので、それ使用タグその任意の発信者に知らせるためのAPIのための方法はありません。

+0

私はそれも疑わしかったですが、潜在的にタグをサポートするために "最適化されたコード"を書くことができます。 – Ngm

関連する問題