Partilhar via


NonRetryingExecutionStrategy.ExecuteAsync<TState,TResult> Método

Definição

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

public 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 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 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 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 se o limite de repetição for atingido, a tarefa retornada será 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 repetições.

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