ASP.net创建自我重新缓存对象?

时间:2010-03-30 17:39:44

标签: asp.net caching object persistent

当缓存过期时,如何使缓存对象使用更新的信息重新缓存它?我试图阻止请求缓存的下一个用户必须处理获取数据设置缓存然后使用它是否有任何后台方法/事件我可以绑定对象,以便当它到期时它只是调用方法它是自我和自我缓存。

2 个答案:

答案 0 :(得分: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
   }

答案 1 :(得分:0)

请原谅我,也许我错过了什么。但是像你一样继续更新缓存数据的声音。 IMO,在这种情况下,最好使用CacheDependency而不是到期。当然,您必须在下一次请求时重新缓存它。