/// <summary> /// 当CacheItem加入到Cache队列中时 /// </summary> protected internal override void CacheItemBinded() { CacheNotifyKey key = GetNotifyKey(); NotifierCacheMonitorBase monitor = GetMonitor(); lock (monitor.CacheItems) { monitor.CacheItems[key] = this; } monitor.EnsureMonitorNotifyThread(); }
/// <summary> /// 释放资源 /// </summary> /// <param name="disposing"></param> protected override void Dispose(bool disposing) { if (disposing) { CacheNotifyKey key = GetNotifyKey(); NotifierCacheMonitorBase monitor = GetMonitor(); lock (monitor.CacheItems) { if (monitor.CacheItems.ContainsKey(key)) { monitor.CacheItems.Remove(key); } } } base.Dispose(disposing); }