IUserSecurityLockingStrategyExecuteInLockAsync - метод |
Выполняет заданное действие в блокировке, связанной с настройкам безопасности сотрудника с заданным идентификатором.
Если в течение короткого времени блокировку не удалось получить, т.к. параллельно выполняется другая задача в блокировке,
или если сотрудник не найден по заданному идентификатору, то метод выбрасывает исключение [System.InvalidOperationException].
Блокировка снимается даже в том случае, если заданный метод выбросил исключение, после чего исключение выбрасывается наружу.
Пространство имён:
Tessa.Platform.Runtime
Сборка:
Tessa (в Tessa.dll) Версия: 3.5.0.19
Синтаксис 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
- Тип: SystemGuid
Идентификатор сотрудника. - actionAsync
- Тип: SystemFuncIDbScope, CancellationToken, Task
Действие, выполняемое в блокировке. Параметром получает объект, обеспечивающий доступ к базе данных.
Параметр не должен быть равен null.
- cancellationToken (Optional)
- Тип: System.ThreadingCancellationToken
Объект, посредством которого можно отменить асинхронную задачу.
Возвращаемое значение
Тип:
TaskАсинхронная задача.
См. также