IGlobalCacheLock - интерфейс

Объект, отвечающий за глобальную блокировку кэшей между собой. В отличии от AsyncLock, последующие вызовы [!:ExecuteAsync] ниже по стеку будут выполняться в рамках уже взятой блокировки. Рекомендуется использовать в методах, которые могут использовать другие кэши (например, [!:GlobalCache<TEventArgs>.GetAsync<T>(Func<CancellationToken, Task<T>>, Func<CancellationToken, Task<T>>, CancellationToken)] при заполнении кэша или InvalidateLocalCacheAsync(TEventArgs, CancellationToken) при сбрасывании локального кэша), для исключения ситуации, когда два разных кэша могут брать блокировку друг на друга.

Definition

Пространство имён: Tessa.Platform.Caching
Сборка: Tessa (в Tessa.dll) Версия: 3.6.0.22
C#
public interface IGlobalCacheLock

Методы

ExecuteReaderAsync Выполняет делегат в блокировке на чтение, при этом последующие вызовы [!:ExecuteAsync] ниже по стеку будут выполняться в рамках уже взятой блокировки.
ExecuteWriterAsync Выполняет делегат в блокировке на запись, при этом последующие вызовы [!:ExecuteAsync] ниже по стеку будут выполняться в рамках уже взятой блокировки.

См. также