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