Exemplo n.º 1
0
		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;
		}
Exemplo n.º 2
0
		public void OnCacheHit(CachedItem cachedItem)
		{
			CacheHits.Add(cachedItem);
		}
Exemplo n.º 3
0
		public void OnCacheMiss(CachedItem cachedItem)
		{
			CacheMisses.Add(cachedItem);
		}
Exemplo n.º 4
0
		public void OnCacheRemoval(CachedItem cachedItem)
		{
			CacheRemovals.Add(cachedItem);
		}
Exemplo n.º 5
0
			public void OnCacheMiss(CachedItem cachedItem)
			{
				PutWasCalled = true;
				if (FirstCallOnPut)
				{
					FirstCallOnPut = false;
					FirstPut = true;
				}
			}
Exemplo n.º 6
0
			public void OnCacheRemoval(CachedItem cachedItem)
			{
				DeleteWasCalled = true;
				if (FirstCallOnDelete)
				{
					FirstCallOnDelete = false;
					FirstDelete = true;
				}
			}
Exemplo n.º 7
0
			public void OnCacheHit(CachedItem cachedItem)
			{
				SuccessfulGetWasCalled = true;
				if (FirstCallOnGetSuccessful)
				{
					FirstCallOnGetSuccessful = false;
					FirstGetSuccessful = true;
				}
			}
Exemplo n.º 8
0
			public void OnCacheHit(CachedItem cachedItem)
			{
				Successful.Add(true);
				CachedItems.Add(cachedItem);
			}
Exemplo n.º 9
0
			public void OnCacheMiss(CachedItem cachedItem)
			{
				Successful.Add(false);
				CachedItems.Add(cachedItem);
			}
Exemplo n.º 10
0
			public void OnCacheRemoval(CachedItem cachedItem)
			{
			}