System.Runtime.Caching
名前空間を調べたところ、タグ付けを含めるように拡張することは(非常に難しいとは限りませんが)難しいと思います。あなたはキャッシュの基底クラスであるように思わObjectCache
ためmembers、見れば(あなたが.NET 4.5 previewを見れば、ノー今後の支援のいずれか)、タグの方法ではサポートされていません。
明らかな方法は、タグを提供するために、オーバーロードすることができますが、CacheItem
は、その後も、タグのプロパティを追加する拡張必要があります。私は、AppFabricのでサポートされているGetObjectsByTag
/ByAllTags
/ByAnyTag
に似たタグベースの検索方法のいずれかの種類のために、キャッシュはすべてCacheItemsを反復処理し、それらを持っていない可能性があります一つずつ調べるに減少するであろうことを、次に心配するだろうあなたが望むかもしれないパフォーマンスに影響を与えます(ただし、データベースベースのキャッシュにはこの点で利点があることがわかります)。
サポートはタグのDefaultCacheCapabilities
列挙で(そして再び、いずれも今後の)もありませんので、それ缶使用タグその任意の発信者に知らせるためのAPIのための方法はありません。
私はそれも疑わしかったですが、潜在的にタグをサポートするために "最適化されたコード"を書くことができます。 – Ngm