Ejemplo n.º 1
0
 public void ItemRemoved(object key, object item)
 {
     if (item == _target)
     {
         TimeBasedExpirationPolicy tgt;
         ActiveTimePolicies.TryRemove(key, out tgt);
     }
 }
Ejemplo n.º 2
0
 static void CheckExpiration()
 {
     while (true)
     {
         ThreadFactory.Sleep(Thread.CurrentThread, ExpirationCheckSleep);
         List <TimeBasedExpirationPolicy> keysToRemove = new List <TimeBasedExpirationPolicy>();
         foreach (TimeBasedExpirationPolicy policy in ActiveTimePolicies.Values)
         {
             if (policy.ShouldRemove(DateTime.Now))
             {
                 keysToRemove.Add(policy);
             }
         }
         foreach (TimeBasedExpirationPolicy policy in keysToRemove)
         {
             policy._cacheProvider.Remove(policy._key);
             TimeBasedExpirationPolicy tgt;
             ActiveTimePolicies.TryRemove(policy._key, out tgt);
         }
     }
 }
Ejemplo n.º 3
0
 public void ItemAdded(object key, object item)
 {
     ActiveTimePolicies.TryAdd(key, this);
 }