1

キャッシュの有効期限が切れたときに、キャッシュされたオブジェクトを更新された情報で再キャッシュするにはどうすればよいですか? キャッシュを要求する次のユーザーがキャッシュを設定するデータの取得に対処しなければならないようにしようとしています。それを使用して、オブジェクトを関連付けることができるバックグラウンドメソッド/イベントがあり、有効期限が切れたときにメソッドを呼び出すだけですそれは自己および自己キャッシュします。

4

2 に答える 2

2

キャッシュからのコールバックを使用できます

System.Web.Caching.CacheItemRemovedCallback callback = 
    new System.Web.Caching.CacheItemRemovedCallback (OnRemove);
Cache.Insert("key",myFile,null, 
   System.Web.Caching.Cache.NoAbsoluteExpiration, 
   TimeSpan.Zero, 
   System.Web.Caching.CacheItemPriority.Default, callback);
 . . .
public static void OnRemove(string key, 
   object cacheItem, 
   System.Web.Caching.CacheItemRemovedReason reason)
   {
      // Logic
   }
于 2010-03-30T17:44:23.430 に答える
0

失礼します、多分私は何かが足りないのです。しかし、キャッシュされたデータを更新し続けるためにあなたが求めているように聞こえます。IMO、CacheDependencyこの場合は有効期限の代わりに使用することをお勧めします。もちろん、次のリクエストで再キャッシュする必要があります。

于 2010-03-30T19:05:17.367 に答える