/// <summary> /// Overloaded constructor. Takes the listener as parameter. /// </summary> /// <param name="listener">listener of Cache events.</param> public CacheBase(IDictionary properties, ICacheEventsListener listener, CacheRuntimeContext context) { _context = context; _listener = listener; _syncObj = new ReaderWriterLock(); _KeyLockManager = new KeyLockManager <object>(LockRecursionPolicy.SupportsRecursion); }
public static KeyLockItem <T> GetLocked <T>(this KeyLockManager <T> keyLockManager, T key) { var item = keyLockManager.GetLockItem(key); item.Lock(); return(item); }
/// <summary> /// Performs application-defined tasks associated with freeing, releasing, or /// resetting unmanaged resources. /// </summary> public virtual void Dispose() { if (writer != null) { lock (writer) { writer.Close(); writer = null; } } _listener = null; _KeyLockManager = null; _syncObj = null; GC.SuppressFinalize(this); }