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 回答