Jazyk

ExecutionStrategy.ExecuteAsync Metoda

Definice

Přetížení

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

Zdroj:
ExecutionStrategy.cs
Zdroj:
ExecutionStrategy.cs
Zdroj:
ExecutionStrategy.cs
Zdroj:
ExecutionStrategy.cs
Zdroj:
ExecutionStrategy.cs
Zdroj:
ExecutionStrategy.cs
Zdroj:
ExecutionStrategy.cs
Zdroj:
ExecutionStrategy.cs
Zdroj:
ExecutionStrategy.cs
Zdroj:
ExecutionStrategy.cs
Zdroj:
ExecutionStrategy.cs

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

public virtual 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 virtual 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 Overridable 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ého Task<TResult> uživatelem operation.

Parametry

state
TState

Stav, který bude předán 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í 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.

Implementuje

Výjimky

Operace nebyla úspěšná po nakonfigurovaném počtu opakování.

Poznámky

Další informace a příklady najdete v tématu Odolnost připojení a opakování databází .

Platí pro

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 virtual 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>
override this.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 Overridable 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é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<ExecutionResult<TResult>>>

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

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.

Implementuje

Výjimky

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

Platí pro