Sdílet prostřednictvím


IExecutionStrategy.ExecuteAsync Metoda

Definice

Přetížení

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

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

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

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

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

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

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)

Parametry typu

TState

Typ stavu.

TResult

Typ výsledku vrácený Task<TResult> příkazem operation.

Parametry

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

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

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

Delegát, který testuje, zda operace byla úspěšná, i když byla vyvolán výjimka.

state
TState

Stav, který se předá operaci.

cancellationToken
CancellationToken

Token zrušení, který slouží ke zrušení operace opakování, ale ne operace, které jsou již v provozu nebo které se již úspěšně dokončily.

Návraty

Task<TResult>

Úloha, která se dokončí, pokud se původní úloha úspěšně dokončí (poprvé nebo po opakování přechodných selhání). Pokud úloha selže s nepřechýlnou chybou nebo pokud je dosaženo limitu opakování, bude vrácená úloha chybná a musí být dodržena výjimka.

Výjimky

Vyvolá se, pokud operace po nakonfigurovaný počet opakovaných pokusů neuspěla.

Platí pro

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

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

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)

Parametry typu

TState

Typ stavu.

TResult

Typ výsledku vrácený Task<TResult> příkazem operation.

Parametry

state
TState

Stav, který se předá operaci.

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

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

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

Delegát, který testuje, zda operace byla úspěšná, i když byla vyvolán výjimka.

cancellationToken
CancellationToken

Token zrušení, který slouží ke zrušení operace opakování, ale ne operace, které jsou již v provozu nebo které se již úspěšně dokončily.

Návraty

Task<TResult>

Úloha, která se dokončí, pokud se původní úloha úspěšně dokončí (poprvé nebo po opakování přechodných selhání). Pokud úloha selže s nepřechýlnou chybou nebo pokud je dosaženo limitu opakování, bude vrácená úloha chybná a musí být dodržena výjimka.

Výjimky

Po nakonfigurovaný počet opakovaných pokusů nebyla operace úspěšná.

Poznámky

Další informace a příklady najdete v tématu Věnovaném odolnosti připojení a opakovaným pokusům o databázi .

Platí pro