0

System.Web.Caching.Cache クラスの上に座って、ジェネリックを使用してアイテムをフェッチする単純なシナリオを処理するための巧妙なレイヤーはありますか。

アイテムを取得するためのデリゲート関数を提供し、厳密に型指定された GetItem とデリゲート関数を使用してアイテムを取得し、アイテムが見つからない場合はアイテムを取得できるようにしたいと考えています。

例えば

 CleverCache<K, T> 
 T GetItem(K)

 RegisterDelegate(FetchItemDelegate<K,T>)

また、単一のオブジェクトのみを処理するキャッシュを処理するための優れた方法も必要です。

ASP.NET キャッシュ オブジェクトは、非常に原始的なように見えます。タイムアウトのあるハッシュテーブルのようです。彼らは、私が気にするすべてのためにそれを HashtableWithTimeout と呼ぶだけかもしれません。もっといい吸引力が欲しい。これは、キャッシュ アプリケーション ブロックが私のために行うようなことですか?

はい、これはかなり単純なコードであることはわかっています。今は車輪を再発明する時間がありません。

4

2 に答える 2

1

Enterprise Libraryのキャッシュ ブロックなど、ASP.NET キャッシュをラップできる、より洗練されたキャッシュ プロバイダーを検討することをお勧めします。オブジェクトのライフサイクル、無効化、検索などのための、より堅牢でリッチなキャッシング ストーリーを提供します。

ASP.NET キャッシュは、実際には非常に強力な基盤です。それだけでは、あなたが指摘したように複雑なことは何もしませんが、かなりクールなものをサポートするのに十分な設計と堅牢性を備えています。

于 2009-10-14T01:13:57.083 に答える
0

ASP.NET で利用可能な基本的なキャッシュの改善として、SharedCacheMicrosoft Velocityを検討することをお勧めします。強力な型付けがどれだけ広く設計されているかはわかりませんが、サンプルとドキュメントから、ASP.NET キャッシュよりも優れていることがわかりました。

于 2009-10-14T00:10:37.763 に答える