CardWithoutTransactionStrategyExecuteInWriterLockAsync - метод

Выполняет запрос на изменение карточки внутри блокировки reader/writer и внутри транзакции. Последним действием внутри делегата asyncAction должно быть увеличение номера версии карточки.

Definition

Пространство имён: Tessa.Cards.ComponentModel
Сборка: Tessa (в Tessa.dll) Версия: 4.0.4
C#
public Task<bool> ExecuteInWriterLockAsync(
	Guid cardID,
	int version,
	IValidationResultBuilder validationResult,
	Func<ICardTransactionParameter, Task> asyncAction,
	CancellationToken cancellationToken = default
)

Параметры

cardID  Guid
Идентификатор карточки, для которой устанавливается блокировка.
version  Int32
Ожидаемая версия карточки в базе данных или [CardComponentHelper.DoNotCheckVersion], если проверять версию не требуется.
validationResult  IValidationResultBuilder
Объект, осуществляющий построение результата валидации.
asyncAction  FuncICardTransactionParameter, Task
Запрос на изменение карточки, принимающий параметр с информацией о транзакции, которая включает токен отмены операции в свойстве CancellationToken. Исполняется внутри SQL-транзакции.
cancellationToken  CancellationToken  (Optional)
Объект, посредством которого можно отменить асинхронную задачу.

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

TaskBoolean
true, если запрос успешно завершился; false, если в процессе создания транзакции или выполнения запроса произошло исключение, причём произошёл откат начатой транзакции.

Реализации

ICardTransactionStrategyExecuteInWriterLockAsync(Guid, Int32, IValidationResultBuilder, FuncICardTransactionParameter, Task, CancellationToken)

См. также