缓存过期事件asp.net企业库

缓存过期事件asp.net企业库,asp.net,Asp.net,我想知道每次缓存项即将过期时是否会发生任何事件,或者缓存项即将过期时是否会引发任何事件。我正在使用asp.net中的企业库进行缓存。我想在缓存即将过期时在数据库中存储一些数据,而不是调用函数或调用事件本人我正在考虑使用已管理的缓存库事件,该事件用于刷新或处置缓存项。假设您使用的是缓存应用程序块,则在将项添加到缓存时指定回调委托 接收从缓存中删除项的通知需要在调用Add方法时指定实现ICacheItemRefreshAction的类 您需要提供一个类来实现ICacheItemRefreshActi

我想知道每次缓存项即将过期时是否会发生任何事件,或者缓存项即将过期时是否会引发任何事件。我正在使用asp.net中的企业库进行缓存。我想在缓存即将过期时在数据库中存储一些数据,而不是调用函数或调用事件本人我正在考虑使用已管理的缓存库事件,该事件用于刷新或处置缓存项。

假设您使用的是缓存应用程序块,则在将项添加到缓存时指定回调委托

接收从缓存中删除项的通知需要在调用Add方法时指定实现ICacheItemRefreshAction的类

您需要提供一个类来实现
ICacheItemRefreshAction

[Serializable]
public class ProductCacheRefreshAction : ICacheItemRefreshAction
{
  public void Refresh(string key, object expiredValue, CacheItemRemovedReason removalReason)
  {
    // Item has been removed from cache. Perform desired actions here, based on
    // the removal reason (for example, refresh the cache with the item).
  }
}
如您所见,删除项时,将使用键和要删除的对象调用此
Refresh()
方法。您只需将
expiredObject
参数强制转换为正确的类型,并安排将其存储到数据库中


如本文所述:

这是否也会给我旧的缓存对象?i、 我的基本要求是在缓存项过期后保存旧的缓存数据。另一个简单的问题是刷新函数在内部是否适用于多线程?