IExecutionStrategy.ExecuteAsync Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
| Název | Description |
|---|---|
| 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é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
Ú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
ExecuteAsync<TState,TResult>(TState, Func<DbContext,TState,CancellationToken, Task<TResult>>, Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>, CancellationToken)
- Zdroj:
- IExecutionStrategy.cs
- Zdroj:
- IExecutionStrategy.cs
- Zdroj:
- IExecutionStrategy.cs
- Zdroj:
- IExecutionStrategy.cs
- Zdroj:
- IExecutionStrategy.cs
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é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
Ú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
Operace nebyla úspěšná po nakonfigurovaném počtu opakování.
Pokud je zrušena CancellationToken .
Poznámky
Další informace a příklady najdete v tématu Odolnost připojení a opakování databází .