/// <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);
        }