IUserSecurityLockingStrategyExecuteInLockAsync - метод

Выполняет заданное действие в блокировке, связанной с настройками безопасности сотрудника с заданным идентификатором.
Если в течение короткого времени блокировку не удалось получить, т.к. параллельно выполняется другая задача в блокировке, или если сотрудник не найден по заданному идентификатору, то метод выбрасывает исключение InvalidOperationException.
Блокировка снимается даже в том случае, если заданный метод выбросил исключение, после чего исключение выбрасывается наружу.

Definition

Пространство имён: Tessa.Platform.Runtime
Сборка: Tessa (в Tessa.dll) Версия: 4.1.3+7e2b1422f9b8c7c41fbbc4b151a843bed05319ab
C#
Task ExecuteInLockAsync(
	Guid userID,
	Func<IDbScope, CancellationToken, Task>? actionAsync,
	CancellationToken cancellationToken = default
)

Параметры

userID  Guid
Идентификатор сотрудника.
actionAsync  FuncIDbScope, CancellationToken, Task
Действие, выполняемое в блокировке. Параметром получает объект, обеспечивающий доступ к базе данных. Параметр не должен быть равен null.
cancellationToken  CancellationToken  (Optional)
Объект, посредством которого можно отменить асинхронную задачу.

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

Task
Асинхронная задача.

См. также