ExecutionStrategy.ExecuteAsync Método

Definición

Sobrecargas

ExecuteAsync<TState,TResult>(TState, Func<DbContext,TState,CancellationToken, Task<TResult>>, Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>, CancellationToken)

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

ExecuteAsync<TState,TResult>(Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>, TState, CancellationToken)

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

ExecuteAsync<TState,TResult>(TState, Func<DbContext,TState,CancellationToken, Task<TResult>>, Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>, CancellationToken)

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

public virtual System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (TState state, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
public virtual System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (TState state, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<Microsoft.EntityFrameworkCore.DbContext,TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>>? verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteAsync : 'State * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
override this.ExecuteAsync : 'State * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<Microsoft.EntityFrameworkCore.DbContext, 'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Overridable Function ExecuteAsync(Of TState, TResult) (state As TState, operation As Func(Of DbContext, TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of DbContext, TState, CancellationToken, Task(Of ExecutionResult(Of TResult))), 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

state
TState

Estado que se pasará a la operación.

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

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

verifySucceeded
Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>

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

cancellationToken
CancellationToken

Token de cancelación que se usa 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 reintentos, se producirá un error en la tarea devuelta y se observará la excepción.

Implementaciones

Excepciones

La operación no se ha realizado correctamente después del número configurado de reintentos.

Comentarios

Consulte Resistencia de conexión y reintentos de base de datos para obtener más información y ejemplos.

Se aplica a

ExecuteAsync<TState,TResult>(Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>, TState, CancellationToken)

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

public virtual System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult> (Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>> verifySucceeded, TState state, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteAsync : Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * 'State * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
override this.ExecuteAsync : Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * 'State * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Overridable Function ExecuteAsync(Of TState, TResult) (operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of ExecutionResult(Of TResult))), 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<ExecutionResult<TResult>>>

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

state
TState

Estado que se pasará a la operación.

cancellationToken
CancellationToken

Token de cancelación que se usa 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 reintentos, se producirá un error en la tarea devuelta y se observará la excepción.

Implementaciones

Excepciones

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

Se aplica a