Объект, отвечающий за глобальную блокировку кэшей между собой.
В отличии от AsyncLock, последующие вызовы ExecuteReaderAsync(FuncCancellationToken, ValueTask, CancellationToken) и ExecuteWriterAsync(FuncCancellationToken, ValueTask, CancellationToken) ниже по стеку будут выполняться в рамках уже взятой блокировки.
Рекомендуется использовать в методах, которые могут использовать другие кэши (например, [!:GlobalCache<TPayload>.GetAsync<T>(Func<CancellationToken, ValueTask<T>>, Func<CancellationToken, ValueTask<T>>, bool, CancellationToken)] при заполнении кэша или InvalidateLocalCacheAsync(TPayload) при сбрасывании локального кэша), для исключения ситуации, когда два разных кэша могут брать блокировку друг на друга.
IGlobalCacheLock GlobalCacheLock { get; }ReadOnly Property GlobalCacheLock As IGlobalCacheLock
Getproperty IGlobalCacheLock^ GlobalCacheLock {
IGlobalCacheLock^ get ();
}abstract GlobalCacheLock : IGlobalCacheLock with get