public static Int32 Count(this MemoryCacheProvider cacheProvider, Func <String, Boolean> predicate) { var entries = HttpRuntime.Cache.OfType <DictionaryEntry>().Where(cacheProvider.Hit); if (predicate != null) { entries.Where(r => predicate(cacheProvider.RemovePrefix((String)r.Key))); } ; return(entries.Count()); }
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(); } }