Jazyk

ExecutionStrategy.ExecuteInTransactionAsync<TState,TResult> Metoda

Definice

Provede zadanou asynchronní operaci a vrátí výsledek.

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)

Parametry typu

TState

Typ stavu.

TResult

Typ výsledku vráceného Task<TResult> uživatelem operation.

Parametry

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

Funkce, která vrací spuštěný úkol typu TResult.

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

Delegát, který testuje, zda operace byla úspěšná, i když byla vyvolána výjimka při potvrzení transakce.

state
TState

Stav, který bude předán operaci.

cancellationToken
CancellationToken

Token zrušení použitý ke zrušení operace opakování, ale ne operace, které jsou již spuštěny nebo které již byly úspěšně dokončeny.

Návraty

Task<TResult>

Úloha, která se spustí k dokončení, pokud se původní úkol úspěšně dokončí (buď poprvé, nebo po opakování přechodných selhání). Pokud úloha selže s chybou, která není přechodná nebo je dosaženo limitu opakování, vrácený úkol bude chybný a výjimka musí být zjištěna.

Výjimky

Vyvolá se, pokud operace nebyla úspěšná po nakonfigurovaném počtu opakování.

Platí pro