Пример #1
0
 /// <summary>
 /// 绝对时间点超时类构造函数
 /// </summary>
 /// <param name="key">键值</param>
 /// <param name="value">缓存的对象</param>
 /// <param name="expire">绝对时间点</param>
 /// <param name="onCacheItemRemoved">对象被从缓存中移除时的回调函数</param>
 public CacheItem(string key, object value, DateTime expire, CacheItemRemovedHandler onCacheItemRemoved)
 {
     this._key                = key;
     this._value              = value;
     this._expireMode         = CacheExpireModeEnum.AbsoluteTimePoint;
     this._expire             = expire;
     this._lastAccess         = DateTime.Now;
     this._ttl                = -1;
     this.OnCacheItemRemoved += new CacheItemRemovedHandler(onCacheItemRemoved);
 }
Пример #2
0
 /// <summary>
 /// 时间间隔类构造函数
 /// </summary>
 /// <param name="key">键值</param>
 /// <param name="value">缓存的对象</param>
 /// <param name="timeToLive">距最后一次访问的时间间隔(分钟)</param>
 /// <param name="onCacheItemRemoved">对象被从缓存中移除时的回调函数</param>
 public CacheItem(string key, object value, int timeToLive, CacheItemRemovedHandler onCacheItemRemoved)
 {
     this._key = key;
     this._value = value;
     this._expireMode = CacheExpireModeEnum.IntervalAfterLastAccess;
     this._expire = DateTime.Now.AddYears(100);
     this._lastAccess = DateTime.Now;
     this._ttl = timeToLive;
     this.OnCacheItemRemoved += new CacheItemRemovedHandler(onCacheItemRemoved);
 }
Пример #3
0
 /// <summary>
 /// 时间间隔类构造函数
 /// </summary>
 /// <param name="key">键值</param>
 /// <param name="value">缓存的对象</param>
 /// <param name="timeToLive">距最后一次访问的时间间隔(分钟)</param>
 /// <param name="onCacheItemRemoved">对象被从缓存中移除时的回调函数</param>
 public CacheItem(string key, object value, int timeToLive, CacheItemRemovedHandler onCacheItemRemoved)
 {
     this._key                = key;
     this._value              = value;
     this._expireMode         = CacheExpireModeEnum.IntervalAfterLastAccess;
     this._expire             = DateTime.Now.AddYears(100);
     this._lastAccess         = DateTime.Now;
     this._ttl                = timeToLive;
     this.OnCacheItemRemoved += new CacheItemRemovedHandler(onCacheItemRemoved);
 }
Пример #4
0
 /// <summary>
 /// 添加缓存对象
 /// 根据依赖对象计算是否超时
 /// </summary>
 /// <param name="key">键值</param>
 /// <param name="value">缓存对象</param>
 /// <param name="dependency">依赖对象</param>
 /// <param name="onCacheItemRemoved">缓存对象被移除时的回调函数</param>
 public void Add(string key, object value, IDependency dependency, CacheItemRemovedHandler onCacheItemRemoved)
 {
     try
     {
         CacheItem item = new CacheItem(key, value, dependency, onCacheItemRemoved);
         this.AddItem(item);
     }
     catch
     {
     }
 }
Пример #5
0
 /// <summary>
 /// 添加缓存对象
 /// 根据绝对时间点计算是否超时
 /// </summary>
 /// <param name="key">键值</param>
 /// <param name="value">缓存对象</param>
 /// <param name="expire">绝对时间点</param>
 /// <param name="onCacheItemRemoved">缓存对象被移除时的回调函数</param>
 public void Add(string key, object value, DateTime expire, CacheItemRemovedHandler onCacheItemRemoved)
 {
     try
     {
         CacheItem item = new CacheItem(key, value, expire, onCacheItemRemoved);
         this.AddItem(item);
     }
     catch
     {
     }
 }
Пример #6
0
 /// <summary>
 /// 依赖于外部对象类构造函数
 /// </summary>
 /// <param name="key">键值</param>
 /// <param name="value">缓存的对象</param>
 /// <param name="dependency">依赖对象</param>
 /// <param name="onCacheItemRemoved">对象被从缓存中移除时的回调函数</param>
 public CacheItem(string key, object value, IDependency dependency, CacheItemRemovedHandler onCacheItemRemoved)
 {
     this._key                = key;
     this._value              = value;
     this._expireMode         = CacheExpireModeEnum.Depend;
     this._expire             = DateTime.Now.AddYears(100);
     this._lastAccess         = DateTime.Now;
     this._ttl                = -1;
     this._dependency         = dependency;
     this.OnCacheItemRemoved += new CacheItemRemovedHandler(onCacheItemRemoved);
 }
Пример #7
0
 /// <summary>
 /// 绝对时间点超时类构造函数
 /// </summary>
 /// <param name="key">键值</param>
 /// <param name="value">缓存的对象</param>
 /// <param name="expire">绝对时间点</param>
 /// <param name="onCacheItemRemoved">对象被从缓存中移除时的回调函数</param>
 public CacheItem(string key, object value, DateTime expire, CacheItemRemovedHandler onCacheItemRemoved)
 {
     this._key = key;
     this._value = value;
     this._expireMode = CacheExpireModeEnum.AbsoluteTimePoint;
     this._expire = expire;
     this._lastAccess = DateTime.Now;
     this._ttl = -1;
     this.OnCacheItemRemoved += new CacheItemRemovedHandler(onCacheItemRemoved);
 }
Пример #8
0
 /// <summary>
 /// 依赖于外部对象类构造函数
 /// </summary>
 /// <param name="key">键值</param>
 /// <param name="value">缓存的对象</param>
 /// <param name="dependency">依赖对象</param>
 /// <param name="onCacheItemRemoved">对象被从缓存中移除时的回调函数</param>
 public CacheItem(string key, object value, IDependency dependency, CacheItemRemovedHandler onCacheItemRemoved)
 {
     this._key = key;
     this._value = value;
     this._expireMode = CacheExpireModeEnum.Depend;
     this._expire = DateTime.Now.AddYears(100);
     this._lastAccess = DateTime.Now;
     this._ttl = -1;
     this._dependency = dependency;
     this.OnCacheItemRemoved += new CacheItemRemovedHandler(onCacheItemRemoved);
 } 
Пример #9
0
 /// <summary>
 /// 添加缓存对象
 /// 根据依赖对象计算是否超时
 /// </summary>
 /// <param name="key">键值</param>
 /// <param name="value">缓存对象</param>
 /// <param name="dependency">依赖对象</param>
 /// <param name="onCacheItemRemoved">缓存对象被移除时的回调函数</param>
 public void Add(string key, object value, IDependency dependency, CacheItemRemovedHandler onCacheItemRemoved)
 {
     try
     {
         CacheItem item = new CacheItem(key, value, dependency, onCacheItemRemoved);
         this.AddItem(item);
     }
     catch
     {
     }
 }
Пример #10
0
 /// <summary>
 /// 添加缓存对象
 /// 根据绝对时间点计算是否超时
 /// </summary>
 /// <param name="key">键值</param>
 /// <param name="value">缓存对象</param>
 /// <param name="expire">绝对时间点</param>
 /// <param name="onCacheItemRemoved">缓存对象被移除时的回调函数</param>
 public void Add(string key, object value, DateTime expire, CacheItemRemovedHandler onCacheItemRemoved)
 {
     try
     {
         CacheItem item = new CacheItem(key, value, expire, onCacheItemRemoved);
         this.AddItem(item);
     }
     catch
     {
     }
 }
Пример #11
0
 /// <summary>
 /// 异常更新机制
 /// </summary>
 /// <param name="key">键名</param>
 /// <param name="value">值</param>
 /// <param name="cache">缓存</param>
 /// <param name="cacheRemoveEvent">缓存删除回调事件</param>
 public virtual void SetCacheRefreshWhenFail(string key, object value, Cache cache, CacheItemRemovedHandler cacheRemoveEvent)
 {
     cache.Add(key, value, DateTime.Now.AddMinutes(1), cacheRemoveEvent);
 }
Пример #12
0
 /// <summary>
 /// 正常更新机制
 /// </summary>
 /// <param name="key">键名</param>
 /// <param name="value">值</param>
 /// <param name="cache">缓存</param>
 /// <param name="expire">过期时间</param>
 /// <param name="cacheRemoveEvent">缓存删除回调事件</param>
 public virtual void SetCacheRefreshAfterLoad(string key, object value, Cache cache, DateTime expire, CacheItemRemovedHandler cacheRemoveEvent)
 {
     cache.Add(key, value, expire, cacheRemoveEvent);
 }
Пример #13
0
 /// <summary>
 /// 缓存更新的调度机制
 /// </summary>
 /// <param name="key">键名</param>
 /// <param name="initValue">原来的数据</param>
 /// <param name="loadedValue">更新后的数据</param>
 /// <param name="cache">缓存对象</param>
 /// <param name="expire">更新时间</param>
 /// <param name="reason">缓存对象超时模式枚举</param>
 /// <param name="cacheReloadEvent">cache重载回调</param>
 public virtual void ReloadCache(string key, object initValue, object loadedValue, Cache cache, DateTime expire, CacheExpireModeEnum reason, CacheItemRemovedHandler cacheReloadEvent)
 {
     if (cache != null)
     {
         if (loadedValue != null)
         {
             SetCacheRefreshAfterLoad(key, loadedValue, cache, expire, cacheReloadEvent);
         }
         else
         {
             SetCacheRefreshWhenFail(key, initValue, cache, cacheReloadEvent);
         }
     }
 }
Пример #14
0
 /// <summary>
 /// 异常更新机制
 /// </summary>
 /// <param name="key">键名</param>
 /// <param name="value">值</param>
 /// <param name="cache">缓存</param>
 /// <param name="cacheRemoveEvent">缓存删除回调事件</param>
 public virtual void SetCacheRefreshWhenFail(string key, object value, Cache cache, CacheItemRemovedHandler cacheRemoveEvent)
 {
     cache.Add(key, value, DateTime.Now.AddMinutes(1), cacheRemoveEvent);
 }
Пример #15
0
 /// <summary>
 /// 正常更新机制
 /// </summary>
 /// <param name="key">键名</param>
 /// <param name="value">值</param>
 /// <param name="cache">缓存</param>
 /// <param name="expire">过期时间</param>
 /// <param name="cacheRemoveEvent">缓存删除回调事件</param>
 public virtual void SetCacheRefreshAfterLoad(string key, object value, Cache cache, DateTime expire, CacheItemRemovedHandler cacheRemoveEvent)
 {
     cache.Add(key, value, expire, cacheRemoveEvent);
 }
Пример #16
0
 /// <summary>
 /// 缓存更新的调度机制
 /// </summary>
 /// <param name="key">键名</param>
 /// <param name="initValue">原来的数据</param>
 /// <param name="loadedValue">更新后的数据</param>
 /// <param name="cache">缓存对象</param>
 /// <param name="expire">更新时间</param>
 /// <param name="reason">缓存对象超时模式枚举</param>
 /// <param name="cacheReloadEvent">cache重载回调</param>
 public virtual void ReloadCache(string key, object initValue, object loadedValue, Cache cache, DateTime expire, CacheExpireModeEnum reason, CacheItemRemovedHandler cacheReloadEvent)
 {
     if (cache != null)
     {
         if (loadedValue != null)
         {
             SetCacheRefreshAfterLoad(key, loadedValue, cache, expire, cacheReloadEvent);
         }
         else
         {
             SetCacheRefreshWhenFail(key, initValue, cache, cacheReloadEvent);
         }
     }
 }