Example #1
0
 public IDictionary <CacheKey, CacheObject> GetCollection(CacheKeyMatchEvaluator cacheKeyMatchEvaluator)
 {
     lock (this)
     {
         var cacheObjects = new Dictionary <CacheKey, CacheObject>();
         try
         {
             var cacheEnum = _cache.GetEnumerator();
             while (cacheEnum.MoveNext())
             {
                 var cacheKey    = new CacheKey(cacheEnum.Current.Key);
                 var cacheObject = cacheEnum.Current.Value as CacheObject;
                 if ((cacheKeyMatchEvaluator != null && cacheKeyMatchEvaluator(cacheKey)) ||
                     cacheKeyMatchEvaluator == null)
                 {
                     if (!cacheObjects.ContainsKey(cacheKey))
                     {
                         cacheObjects.Add(cacheKey, cacheObject);
                     }
                 }
             }
         }
         catch (Exception ex)
         {
             Utility.ErrorLog(ex.Message, ex);
         }
         return(cacheObjects);
     }
 }
Example #2
0
 public void Remove(CacheKeyMatchEvaluator cacheKeyMatchEvaluator)
 {
     lock (this)
     {
         var cacheObjects = GetCollection(cacheKeyMatchEvaluator);
         foreach (KeyValuePair <CacheKey, CacheObject> keyValuePair in cacheObjects)
         {
             Remove(keyValuePair.Key);
         }
     }
 }