void ReleaseRefreshLock(RefreshLock refreshLock) { lock (_refreshLocksLock) { RefreshLocks.Remove(refreshLock); if (RefreshRequestedDuringLock) { RefreshRequestedDuringLock = false; RefreshItem(); } } }
public IDisposable GetRefreshLock() { lock (_cachedObjectLock) { if (RefreshNeeded) { RefreshItem(); } } lock (_refreshLocksLock) { RefreshLock refreshLock = new RefreshLock(this); RefreshLocks.Add(refreshLock); return(refreshLock); } }