Freigeben über


NonRetryingExecutionStrategy.ExecuteAsync<TState,TResult> Methode

Definition

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 TResultzurü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

Task<TResult>

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.

Hinweise

Weitere Informationen und Beispiele finden Sie unter Verbindungsresilienz und Datenbank-Wiederholungen .

Gilt für: