IGlobalCacheLock - интерфейс

Объект, отвечающий за глобальную блокировку кэшей между собой.

В отличии от AsyncLock, последующие вызовы ExecuteReaderAsync(FuncCancellationToken, ValueTask, CancellationToken) и ExecuteWriterAsync(FuncCancellationToken, ValueTask, CancellationToken) ниже по стеку будут выполняться в рамках уже взятой блокировки.

Рекомендуется использовать в методах, которые могут использовать другие кэши (например, GetAsyncT(FuncCancellationToken, TaskT, FuncCancellationToken, TaskT, Boolean, CancellationToken) при заполнении кэша или InvalidateLocalCacheAsync(TEventArgs, CancellationToken) при сбрасывании локального кэша), для исключения ситуации, когда два разных кэша могут брать блокировку друг на друга.

Definition

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

Методы

ExecuteReaderAsync Выполняет делегат в блокировке на чтение, при этом последующие вызовы ExecuteReaderAsync(FuncCancellationToken, ValueTask, CancellationToken) ниже по стеку будут выполняться в рамках уже взятой блокировки.
ExecuteWriterAsync Выполняет делегат в блокировке на запись, при этом последующие вызовы ExecuteWriterAsync(FuncCancellationToken, ValueTask, CancellationToken) ниже по стеку будут выполняться в рамках уже взятой блокировки.

См. также