Поделиться через


ExecutionStrategy.ExecuteInTransactionAsync<TState,TResult> Метод

Определение

Выполняет указанную асинхронную операцию и возвращает результат.

public virtual System.Threading.Tasks.Task<TResult> ExecuteInTransactionAsync<TState,TResult> (Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, TState state, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteInTransactionAsync : Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * 'State * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
override this.ExecuteInTransactionAsync : Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * 'State * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Overridable Function ExecuteInTransactionAsync(Of TState, TResult) (operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of Boolean)), state As TState, Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)

Параметры типа

TState

Тип состояния.

TResult

Тип результата объекта , возвращаемого Task<TResult>operation.

Параметры

operation
Func<TState,CancellationToken,Task<TResult>>

Функция, возвращающая запущенную задачу типа TResult.

verifySucceeded
Func<TState,CancellationToken,Task<Boolean>>

Делегат, который проверяет успешность операции, даже если при фиксации транзакции было создано исключение.

state
TState

Состояние, которое будет передано операции.

cancellationToken
CancellationToken

Маркер отмены, используемый для отмены операции повтора, но не операции, которые уже находятся в тестовом режиме или уже успешно завершены.

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

Task<TResult>

Задача, которая будет выполняться до завершения, если исходная задача успешно завершается (в первый раз или после повторных временных сбоев). Если задача завершается сбоем с временной ошибкой или достигается предел повторных попыток, возвращаемая задача станет неисправной и должно наблюдаться исключение.

Исключения

Возникает, если операция не завершилась успешно после заданного количества повторных попыток.

Применяется к