public static void Flush(this MemoryCacheProvider cache, String file, Func <String, Boolean> predicate)
 {
     using (var stream = new FileStream(file, FileMode.OpenOrCreate, FileAccess.ReadWrite))
         using (var writer = new StreamWriter(stream)) {
             stream.SetLength(0L);
             var entries = HttpRuntime.Cache.OfType <DictionaryEntry>().Where(cache.Hit);
             if (predicate != null)
             {
                 entries.Where(r => predicate(cache.RemovePrefix((String)r.Key)));
             }
             var json = new JavaScriptSerializer();
             foreach (var entry in entries)
             {
                 writer.WriteLine(json.Serialize(entry));
             }
             writer.Flush();
         }
 }
 public static Int32 Count(this MemoryCacheProvider cacheProvider)
 {
     return(Count(cacheProvider, x => true));
 }