IUserSecurityLockingStrategyExecuteInLockAsync - метод

Выполняет заданное действие в блокировке, связанной с настройкам безопасности сотрудника с заданным идентификатором.

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

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

Definition

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

Параметры

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

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

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

См. также