比如项目中生成了100个Cache,其中20个Cache的key值中包含有“CSDN”字符。
然后现在我想删除掉这20个Cache,代码该怎么写呢?谢谢!~

解决方案 »

  1.   

    Cache.Remove("CSDN");把这些串弄一个数组
    循环
    if (含有CSDN)
    {
    Cache.Remove(arr[i].ToString);
    }
      

  2.   

        protected static void PurgeChcheItems(string prefix)
        {
            prefix = prefix.ToLower();
            List<string> itemsToRemove = new List<string>();
            IDictionaryEnumerator enumerator = HttpContext.Current.Cache.GetEnumerator();
            while (enumerator.MoveNext())
            {
                if (enumerator.Key.ToString().ToLower().IndexOf(prefix) >= 0)
                //if (enumerator.Key.ToString().ToLower().StartsWith(prefix))
                    itemsToRemove.Add(enumerator.Key.ToString());
            }
            foreach (string itemToRemove in itemsToRemove)
            {
                HttpContext.Current.Cache.Remove(itemToRemove);
            }
        }