CardWithoutTransactionStrategyExecuteInWriterLockAsync - метод
Выполняет запрос на изменение карточки внутри блокировки reader/writer и внутри транзакции.
Последним действием внутри делегата asyncAction должно быть увеличение номера версии карточки.
Пространство имён: Tessa.Cards.ComponentModelСборка: Tessa (в Tessa.dll) Версия: 4.2.0+ffad8363f63902f18b3b3f4cfa533a14b2fb19a6
public Task<bool> ExecuteInWriterLockAsync(
Guid cardID,
int version,
IValidationResultBuilder validationResult,
Func<ICardTransactionParameter, Task> asyncAction,
bool skipInstanceCheck = false,
CancellationToken cancellationToken = default
)
Public Function ExecuteInWriterLockAsync (
cardID As Guid,
version As Integer,
validationResult As IValidationResultBuilder,
asyncAction As Func(Of ICardTransactionParameter, Task),
Optional skipInstanceCheck As Boolean = false,
Optional cancellationToken As CancellationToken = Nothing
) As Task(Of Boolean)
public:
virtual Task<bool>^ ExecuteInWriterLockAsync(
Guid cardID,
int version,
IValidationResultBuilder^ validationResult,
Func<ICardTransactionParameter^, Task^>^ asyncAction,
bool skipInstanceCheck = false,
CancellationToken cancellationToken = CancellationToken()
) sealed
abstract ExecuteInWriterLockAsync :
cardID : Guid *
version : int *
validationResult : IValidationResultBuilder *
asyncAction : Func<ICardTransactionParameter, Task> *
?skipInstanceCheck : bool *
?cancellationToken : CancellationToken
(* Defaults:
let _skipInstanceCheck = defaultArg skipInstanceCheck false
let _cancellationToken = defaultArg cancellationToken new CancellationToken()
*)
-> Task<bool>
override ExecuteInWriterLockAsync :
cardID : Guid *
version : int *
validationResult : IValidationResultBuilder *
asyncAction : Func<ICardTransactionParameter, Task> *
?skipInstanceCheck : bool *
?cancellationToken : CancellationToken
(* Defaults:
let _skipInstanceCheck = defaultArg skipInstanceCheck false
let _cancellationToken = defaultArg cancellationToken new CancellationToken()
*)
-> Task<bool>
- cardID Guid
- Идентификатор карточки, для которой устанавливается блокировка.
- version Int32
-
Ожидаемая версия карточки в базе данных или [CardComponentHelper.DoNotCheckVersion],
если проверять версию не требуется.
- validationResult IValidationResultBuilder
- Объект, осуществляющий построение результата валидации.
- asyncAction FuncICardTransactionParameter, Task
-
Запрос на изменение карточки, принимающий параметр с информацией о транзакции,
которая включает токен отмены операции в свойстве CancellationToken. Исполняется внутри SQL-транзакции.
- skipInstanceCheck Boolean (Optional)
- Флаг, с помощью которого можно опустить проверку наличия карточки в системе.
- cancellationToken CancellationToken (Optional)
- Объект, посредством которого можно отменить асинхронную задачу.
TaskBooleantrue, если запрос успешно завершился;
false, если в процессе создания транзакции или выполнения запроса произошло исключение,
причём произошёл откат начатой транзакции.
ICardTransactionStrategyExecuteInWriterLockAsync(Guid, Int32, IValidationResultBuilder, FuncICardTransactionParameter, Task, Boolean, CancellationToken)