Share via


ExecutionStrategy.ExecuteAsync Método

Definição

Sobrecargas

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

Executa a operação assíncrona especificada e retorna o resultado.

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

Executa a operação assíncrona especificada e retorna o resultado.

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

Executa a operação assíncrona especificada e retorna o 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

O tipo do estado.

TResult

O tipo de resultado do Task<TResult> retornado por operation.

Parâmetros

state
TState

O estado que será passado para a operação.

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

Uma função que retorna uma tarefa iniciada do tipo TResult.

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

Um delegado que testa se a operação foi bem-sucedida mesmo que uma exceção tenha sido gerada.

cancellationToken
CancellationToken

Um token de cancelamento usado para cancelar a operação de repetição, mas não operações que já estão em versão de pré-lançamento ou que já foram concluídas com êxito.

Retornos

Task<TResult>

Uma tarefa que será executada até a conclusão se a tarefa original for concluída com êxito (na primeira vez ou depois de tentar novamente falhas transitórias). Se a tarefa falhar com um erro não transitório ou o limite de repetição for atingido, a tarefa retornada ficará com falha e a exceção deverá ser observada.

Implementações

Exceções

A operação não foi bem-sucedida após o número configurado de novas tentativas.

Se o padrão CancellationToken for cancelado.

Comentários

Consulte Resiliência de conexão e repetições de banco de dados para obter mais informações e exemplos.

Aplica-se a

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

Executa a operação assíncrona especificada e retorna o 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

O tipo do estado.

TResult

O tipo de resultado do Task<TResult> retornado por operation.

Parâmetros

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

Uma função que retorna uma tarefa iniciada do tipo TResult.

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

Um delegado que testa se a operação foi bem-sucedida mesmo que uma exceção tenha sido gerada.

state
TState

O estado que será passado para a operação.

cancellationToken
CancellationToken

Um token de cancelamento usado para cancelar a operação de repetição, mas não operações que já estão em versão de pré-lançamento ou que já foram concluídas com êxito.

Retornos

Task<TResult>

Uma tarefa que será executada até a conclusão se a tarefa original for concluída com êxito (na primeira vez ou depois de tentar novamente falhas transitórias). Se a tarefa falhar com um erro não transitório ou o limite de repetição for atingido, a tarefa retornada ficará com falha e a exceção deverá ser observada.

Implementações

Exceções

Gerada se a operação não tiver sido bem-sucedida após o número configurado de repetições.

Aplica-se a