Freigeben über


ExecutionStrategy.ExecuteInTransactionAsync<TState,TResult> Methode

Definition

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

public virtual System.Threading.Tasks.Task<TResult> ExecuteInTransactionAsync<TState,TResult> (Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, TState state, System.Threading.CancellationToken cancellationToken = default);
abstract member ExecuteInTransactionAsync : Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * 'State * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
override this.ExecuteInTransactionAsync : Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * 'State * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Overridable Function ExecuteInTransactionAsync(Of TState, TResult) (operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of Boolean)), state As TState, 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

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

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

verifySucceeded
Func<TState,CancellationToken,Task<Boolean>>

Ein Delegat, der testet, ob der Vorgang erfolgreich war, obwohl beim Commit für die Transaktion 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 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 Vorgang mit einem nicht vorübergehenden Fehler fehlschlägt oder das Wiederholungslimit 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: