Sprache

IExecutionStrategy.ExecuteAsync Methode

Definition

Überlädt

ExecuteAsync<TState,TResult>(Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>, TState, CancellationToken)

Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück.

public System.Threading.Tasks.Task<TResult> ExecuteAsync<TState,TResult>(Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<TResult>>> verifySucceeded, TState state, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteAsync : Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.ExecutionResult<'Result>>> * 'State * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ExecuteAsync(Of TState, TResult) (operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of ExecutionResult(Of TResult))), state As TState, Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)

Typparameter

TState

Der Typ des Zustands.

TResult

Der Ergebnistyp des Task<TResult> zurückgegebenen von operation.

Parameter

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

Eine Funktion, die eine gestartete Aufgabe vom Typ TResultzurückgibt.

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

Eine Stellvertretung, die testet, ob der Vorgang erfolgreich war, obwohl eine Ausnahme ausgelöst wurde.

state
TState

Der Zustand, der an den Vorgang übergeben wird.

cancellationToken
CancellationToken

Ein Abbruchtoken, das zum Abbrechen des Wiederholungsvorgangs verwendet wird, aber keine Vorgänge, die bereits im Test-Flight ausgeführt wurden oder die bereits erfolgreich abgeschlossen wurden.

Gibt zurück

Task<TResult>

Eine Aufgabe, die zum Abschluss ausgeführt wird, wenn die ursprüngliche Aufgabe erfolgreich abgeschlossen wird (entweder das erste Mal oder nach dem erneuten Wiederholen vorübergehender Fehler). Wenn der Vorgang mit einem nicht vorübergehenden Fehler fehlschlägt oder der Wiederholungsgrenzwert erreicht ist, wird der zurückgegebene Vorgang fehlerhaft, und die Ausnahme muss beachtet werden.

Ausnahmen

Wird ausgelöst, wenn der Vorgang nach der konfigurierten Anzahl von Wiederholungen nicht erfolgreich war.

Gilt für:

ExecuteAsync<TState,TResult>(TState, Func<DbContext,TState,CancellationToken, Task<TResult>>, Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>, CancellationToken)

Quelle:
IExecutionStrategy.cs
Quelle:
IExecutionStrategy.cs
Quelle:
IExecutionStrategy.cs
Quelle:
IExecutionStrategy.cs
Quelle:
IExecutionStrategy.cs

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>
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> zurückgegebenen von 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>>>

Eine Stellvertretung, die testet, ob der Vorgang erfolgreich war, obwohl eine Ausnahme ausgelöst wurde.

cancellationToken
CancellationToken

Ein Abbruchtoken, das zum Abbrechen des Wiederholungsvorgangs verwendet wird, aber keine Vorgänge, die bereits im Test-Flight ausgeführt wurden oder die bereits erfolgreich abgeschlossen wurden.

Gibt zurück

Task<TResult>

Eine Aufgabe, die zum Abschluss ausgeführt wird, wenn die ursprüngliche Aufgabe erfolgreich abgeschlossen wird (entweder das erste Mal oder nach dem erneuten Wiederholen vorübergehender Fehler). Wenn der Vorgang mit einem nicht vorübergehenden Fehler fehlschlägt oder der Wiederholungsgrenzwert erreicht ist, wird der zurückgegebene Vorgang fehlerhaft, und die Ausnahme muss beachtet werden.

Ausnahmen

Der Vorgang ist nach der konfigurierten Anzahl der Wiederholungen nicht erfolgreich.

Wenn der CancellationToken Vorgang abgebrochen wird.

Hinweise

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

Gilt für: