private static void ScanForExpiredItems(MemoryCache cache) { List <CacheEntry> expiredEntries = new List <CacheEntry>(); cache._entryLock.EnterReadLock(); try { var now = cache._clock.UtcNow; foreach (var entry in cache._entries.Values) { if (entry.CheckExpired(now)) { expiredEntries.Add(entry); } } } finally { cache._entryLock.ExitReadLock(); } cache.RemoveEntries(expiredEntries); }
private static void ScanForExpiredItems(MemoryCache cache) { List<CacheEntry> expiredEntries = new List<CacheEntry>(); cache._entryLock.EnterReadLock(); try { var now = cache._clock.UtcNow; foreach (var entry in cache._entries.Values) { if (entry.CheckExpired(now)) { expiredEntries.Add(entry); } } } finally { cache._entryLock.ExitReadLock(); } cache.RemoveEntries(expiredEntries); }