NonRetryingExecutionStrategy.ExecuteAsync<TState,TResult> Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 operation
element .
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
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 .