Для изменения размера нажмите или перетащите

GlobalCacheTEventArgsGetAsyncT - метод

Инициирует заполнение кэша при необходимости и возвращает запрошенное из кэша значение.

Пространство имён:  Tessa.Platform.Caching
Сборка:  Tessa (в Tessa.dll) Версия: 3.5.0.19
Синтаксис
protected Task<T> GetAsync<T>(
	Func<CancellationToken, Task<T>> tryGetFuncAsync,
	Func<CancellationToken, Task<T>> fillAndGetFuncAsync,
	CancellationToken cancellationToken = default
)
where T : class

Параметры

tryGetFuncAsync
Тип: SystemFuncCancellationToken, TaskT

Функция, осуществляющая чтение из локального кэша вне блокировок между процессами. Для передачи параметров следует использовать замыкание. Функция возвращает null, если значение прочитать не удалось и требуется наполнение локального кэша из внешнего источника.

Обращение к локальному кэшу потокобезопасно и может проводиться без дополнительной синхронизации.

fillAndGetFuncAsync
Тип: SystemFuncCancellationToken, TaskT

Функция, выполняющая наполнение локального кэша из внешнего источника и возвращающая значение, запрошенное из кэша после его наполнения. Для передачи параметров следует использовать замыкание.

Обращение к локальному кэшу потокобезопасно и может проводиться без дополнительной синхронизации. Однако, нет гарантии, что значение, отсутствовавшее в локальном кэше в функции tryGetFuncAsync, будет так же отсутствовать при выполнении этой функции. Поэтому функция должна осуществлять добавление или замену необходимых данных, а не только добавление.

cancellationToken (Optional)
Тип: System.ThreadingCancellationToken
Объект, посредством которого можно отменить асинхронную задачу.

Параметры типа

T

Возвращаемое значение

Тип: TaskT
Значение, запрошенное из кэша.
Заметки

Выполнение метода может занять продолжительное время из-за глобальной синхронизацией между процессами, поэтому кэш должен запрашивать максимальный объём данных за раз.

Метод не является потокобезопасным. Потокобезопасным является только доступ к локальному кэшу в методах tryGetFuncAsync и fillAndGetFuncAsync.

См. также