public T GetItem(object key)
        {
            if (_Items == null)
            {
                InitItemTable();
            }

            CacheObjectItem <T> obj = null;

            if (_Items.ContainsKey(key))
            {
                try
                {
                    obj = (CacheObjectItem <T>)_Items[key];
                    if (!obj.IsExpired)
                    {
                        //  如果每次自动刷新时间
                        if (AutoRefreshWhenRead)
                        {
                            obj.Refresh();
                        }
                        return(obj.GetValue());
                    }
                    //  item已过期,删除
                    lock (_Items.SyncRoot)
                    {
                        _Items.Remove(key);
                    }
                }
                catch { }
            }
            return(default(T));
        }
        public void SetItem(object key, T obj)
        {
            if (key == null || obj == null)
            {
                return;
            }

            if (_Items == null)
            {
                InitItemTable();
            }

            CacheObjectItem <T> objItem = CacheObjectItem <T> .GetObjectItem(obj, _ExpireSeconds);

            objItem.Refresh();
            _Items[key] = objItem;
        }