NonRetryingExecutionStrategy.ExecuteAsync<TState,TResult> Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück.
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)
Typparameter
- TState
Der Typ des Zustands.
- TResult
Der Ergebnistyp des Task<TResult> von zurückgegebenen operation
.
Parameter
- state
- TState
Der Zustand, der an den Vorgang übergeben wird.
- operation
- Func<DbContext,TState,CancellationToken,Task<TResult>>
Eine Funktion, die eine gestartete Aufgabe vom Typ TResult
zurückgibt.
- verifySucceeded
- Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>
Ein Delegat, der testet, ob der Vorgang erfolgreich war, obwohl eine Ausnahme ausgelöst wurde.
- cancellationToken
- CancellationToken
Ein Abbruchtoken, das zum Abbrechen des Wiederholungsvorgangs verwendet wird, jedoch keine Vorgänge, die sich bereits im Flug befinden oder die bereits erfolgreich abgeschlossen wurden.
Gibt zurück
Eine Aufgabe, die bis zum Abschluss ausgeführt wird, wenn die ursprüngliche Aufgabe erfolgreich abgeschlossen wird (entweder beim ersten Mal oder nach dem Wiederholen vorübergehender Fehler). Wenn der Task mit einem nicht vorübergehenden Fehler fehlschlägt oder der Wiederholungsgrenzwert erreicht wird, wird der zurückgegebene Task fehlerhaft, und die Ausnahme muss beobachtet werden.
Implementiert
Ausnahmen
Der Vorgang ist nach der konfigurierten Anzahl von Wiederholungsversuchen nicht erfolgreich.
Wenn CancellationToken abgebrochen ist.
Hinweise
Weitere Informationen und Beispiele finden Sie unter Verbindungsresilienz und Datenbank-Wiederholungen .
Gilt für:
Entity Framework