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