IUserSecurityLockingStrategyExecuteInLockAsync - метод
Выполняет заданное действие в блокировке, связанной с настройкам безопасности сотрудника с заданным идентификатором.
Если в течение короткого времени блокировку не удалось получить, т.к. параллельно выполняется другая задача в блокировке,
или если сотрудник не найден по заданному идентификатору, то метод выбрасывает исключение [System.InvalidOperationException].
Блокировка снимается даже в том случае, если заданный метод выбросил исключение, после чего исключение выбрасывается наружу.
Пространство имён: Tessa.Platform.RuntimeСборка: Tessa (в Tessa.dll) Версия: 3.6.0.22
Task ExecuteInLockAsync(
Guid userID,
Func<IDbScope, CancellationToken, Task> actionAsync,
CancellationToken cancellationToken = default
)
Function ExecuteInLockAsync (
userID As Guid,
actionAsync As Func(Of IDbScope, CancellationToken, Task),
Optional cancellationToken As CancellationToken = Nothing
) As Task
Task^ ExecuteInLockAsync(
Guid userID,
Func<IDbScope^, CancellationToken, Task^>^ actionAsync,
CancellationToken cancellationToken = CancellationToken()
)
abstract ExecuteInLockAsync :
userID : Guid *
actionAsync : Func<IDbScope, CancellationToken, Task> *
?cancellationToken : CancellationToken
(* Defaults:
let _cancellationToken = defaultArg cancellationToken new CancellationToken()
*)
-> Task
- userID Guid
- Идентификатор сотрудника.
- actionAsync FuncIDbScope, CancellationToken, Task
-
Действие, выполняемое в блокировке. Параметром получает объект, обеспечивающий доступ к базе данных.
Параметр не должен быть равен null.
- cancellationToken CancellationToken (Optional)
- Объект, посредством которого можно отменить асинхронную задачу.
TaskАсинхронная задача.