Exemplo n.º 1
0
 void ReleaseRefreshLock(RefreshLock refreshLock)
 {
     lock (_refreshLocksLock)
     {
         RefreshLocks.Remove(refreshLock);
         if (RefreshRequestedDuringLock)
         {
             RefreshRequestedDuringLock = false;
             RefreshItem();
         }
     }
 }
Exemplo n.º 2
0
        public IDisposable GetRefreshLock()
        {
            lock (_cachedObjectLock)
            {
                if (RefreshNeeded)
                {
                    RefreshItem();
                }
            }

            lock (_refreshLocksLock)
            {
                RefreshLock refreshLock = new RefreshLock(this);
                RefreshLocks.Add(refreshLock);
                return(refreshLock);
            }
        }