示例#1
0
 /// <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);
 }
示例#2
0
        public static KeyLockItem <T> GetLocked <T>(this KeyLockManager <T> keyLockManager, T key)
        {
            var item = keyLockManager.GetLockItem(key);

            item.Lock();
            return(item);
        }
示例#3
0
 /// <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);
 }