Compartir a través de


ExecutionStrategy.ExecuteInTransactionAsync<TState,TResult> Método

Definición

Ejecuta la operación asincrónica especificada y devuelve el resultado.

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)

Parámetros de tipo

TState

Tipo del estado.

TResult

Tipo de resultado del Task<TResult> devuelto por operation.

Parámetros

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

Función que devuelve una tarea iniciada de tipo TResult.

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

Delegado que comprueba si la operación se realizó correctamente aunque se produjo una excepción cuando se confirmaba la transacción.

state
TState

Estado que se pasará a la operación.

cancellationToken
CancellationToken

Token de cancelación usado para cancelar la operación de reintento, pero no las operaciones que ya están en curso o que ya se han completado correctamente.

Devoluciones

Task<TResult>

Tarea que se ejecutará hasta la finalización si la tarea original se completa correctamente (la primera vez o después de reintentar errores transitorios). Si se produce un error en la tarea con un error no transitorio o se alcanza el límite de reintento, se producirá un error en la tarea devuelta y se observará la excepción.

Excepciones

Se produce si la operación no se ha realizado correctamente después del número configurado de reintentos.

Se aplica a