private CachedItem executeAndPutInCache(EventInformation eventInformation, IEnumerable<string> dependingRemoveKeys, Func<object> originalMethod) { var methodResult = originalMethod(); var cachedItem = new CachedItem(eventInformation, methodResult); var key = cachedItem.EventInformation.CacheKey; var dependedKeys = dependingRemoveKeys.ToList(); dependedKeys.Add(mainCacheKey); createDependencies(dependedKeys); var policy = new CacheItemPolicy { AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(_timeoutMinutes), RemovedCallback = arguments => _eventListenersCallback.OnCacheRemoval(cachedItem) }; policy.ChangeMonitors.Add(cache.CreateCacheEntryChangeMonitor(dependedKeys)); cache.Set(key, cachedItem, policy); return cachedItem; }
public void OnCacheHit(CachedItem cachedItem) { CacheHits.Add(cachedItem); }
public void OnCacheMiss(CachedItem cachedItem) { CacheMisses.Add(cachedItem); }
public void OnCacheRemoval(CachedItem cachedItem) { CacheRemovals.Add(cachedItem); }
public void OnCacheMiss(CachedItem cachedItem) { PutWasCalled = true; if (FirstCallOnPut) { FirstCallOnPut = false; FirstPut = true; } }
public void OnCacheRemoval(CachedItem cachedItem) { DeleteWasCalled = true; if (FirstCallOnDelete) { FirstCallOnDelete = false; FirstDelete = true; } }
public void OnCacheHit(CachedItem cachedItem) { SuccessfulGetWasCalled = true; if (FirstCallOnGetSuccessful) { FirstCallOnGetSuccessful = false; FirstGetSuccessful = true; } }
public void OnCacheHit(CachedItem cachedItem) { Successful.Add(true); CachedItems.Add(cachedItem); }
public void OnCacheMiss(CachedItem cachedItem) { Successful.Add(false); CachedItems.Add(cachedItem); }
public void OnCacheRemoval(CachedItem cachedItem) { }