public object Get(string key) { if (string.IsNullOrEmpty(key)) { throw new ArgumentException("参数[key]不能为空或空字符串"); } CacheItem cacheItem = (CacheItem)inMemoryCache[key]; if (cacheItem == null) { return(null); } lock (inMemoryCache.SyncRoot) { if (cacheItem.HasExpired()) { cacheItem.TouchedByUserAction(true); inMemoryCache.Remove(key); return(null); } } cacheItem.TouchedByUserAction(false); return(cacheItem.Value); }