Udostępnij za pośrednictwem


NonRetryingExecutionStrategy.ExecuteAsync<TState,TResult> Metoda

Definicja

Wykonuje określoną operację asynchroniczną i zwraca wynik.

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)

Parametry typu

TState

Typ stanu.

TResult

Typ wyniku zwrócony Task<TResult> przez operationelement .

Parametry

state
TState

Stan, który zostanie przekazany do operacji.

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

Funkcja zwracająca uruchomione zadanie typu TResult.

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

Delegat, który sprawdza, czy operacja zakończyła się pomyślnie, mimo że został zgłoszony wyjątek.

cancellationToken
CancellationToken

Token anulowania używany do anulowania operacji ponawiania, ale nie operacji, które są już w locie lub które zostały już ukończone pomyślnie.

Zwraca

Task<TResult>

Zadanie, które zostanie uruchomione do ukończenia, jeśli oryginalne zadanie zostanie ukończone pomyślnie (po raz pierwszy lub po ponowieniu próby przejściowych błędów). Jeśli zadanie zakończy się niepowodzeniem z błędem nie przejściowym lub zostanie osiągnięty limit ponawiania prób, zwrócone zadanie zostanie uszkodzone i należy zaobserwować wyjątek.

Implementuje

Wyjątki

Operacja nie powiodła się po skonfigurowanej liczbie ponownych prób.

Jeśli element CancellationToken zostanie anulowany.

Uwagi

Aby uzyskać więcej informacji i przykłady, zobacz Odporność połączenia i ponawianie prób bazy danych .

Dotyczy