/// <summary> /// 渲染每一条Cache项 /// </summary> /// <param name="writer"></param> /// <param name="queueInfo"></param> private static void RenderCacheQueueItemsInfo(HtmlTextWriter writer, CacheQueueInfo queueInfo) { Type type = TypeCreator.GetTypeInfo(queueInfo.QueueTypeFullName); CacheQueueBase cacheQueue = CacheManager.GetInstance(type); CacheItemInfoCollection itemsInfo = cacheQueue.GetAllItemsInfo(); foreach (CacheItemInfo itemInfo in itemsInfo) { writer.WriteBeginTag("div"); writer.WriteAttribute("class", "queueInfoDetail"); writer.Write(">"); writer.Write(HttpUtility.HtmlEncode(string.Format("Key={0}, Value={1}", itemInfo.Key, itemInfo.Value))); writer.WriteEndTag("div"); } }
/// <summary> /// 得到所有项的信息 /// </summary> /// <returns></returns> public override CacheItemInfoCollection GetAllItemsInfo() { CacheItemInfoCollection result = new CacheItemInfoCollection(); this.rWLock.AcquireReaderLock(this.lockTimeout); try { foreach (KeyValuePair <TKey, CacheItem <TKey, TValue> > kp in this.innerDictionary) { CacheItemInfo itemInfo = new CacheItemInfo(); result.Add(kp.Value.ToCacheItemInfo()); } } finally { this.rWLock.ReleaseReaderLock(); } return(result); }