ExecutionStrategyExtensions.ExecuteInTransactionAsync 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í
ExecuteInTransactionAsync(IExecutionStrategy, Func<Task>, Func<Task<Boolean>>)
Provede zadanou asynchronní operaci v transakci. Umožňuje zkontrolovat, zda transakce byla vrácena zpět, pokud dojde k chybě během potvrzení.
public static System.Threading.Tasks.Task ExecuteInTransactionAsync(this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<System.Threading.Tasks.Task> operation, Func<System.Threading.Tasks.Task<bool>> verifySucceeded);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<System.Threading.Tasks.Task> * Func<System.Threading.Tasks.Task<bool>> -> System.Threading.Tasks.Task
<Extension()>
Public Function ExecuteInTransactionAsync (strategy As IExecutionStrategy, operation As Func(Of Task), verifySucceeded As Func(Of Task(Of Boolean))) As Task
Parametry
- strategy
- IExecutionStrategy
Strategie, která se bude používat pro provádění.
Delegát, který testuje, zda operace byla úspěšná, i když byla vyvolána výjimka při potvrzení transakce.
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í.
Poznámky
Další informace a příklady najdete v tématu Odolnost připojení a opakování databází .
Platí pro
ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, CancellationToken)
Provede zadanou asynchronní operaci v transakci. Umožňuje zkontrolovat, zda transakce byla vrácena zpět, pokud dojde k chybě během potvrzení.
public static System.Threading.Tasks.Task ExecuteInTransactionAsync(this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<System.Threading.CancellationToken,System.Threading.Tasks.Task> operation, Func<System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<System.Threading.CancellationToken, System.Threading.Tasks.Task> * Func<System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
<Extension()>
Public Function ExecuteInTransactionAsync (strategy As IExecutionStrategy, operation As Func(Of CancellationToken, Task), verifySucceeded As Func(Of CancellationToken, Task(Of Boolean)), Optional cancellationToken As CancellationToken = Nothing) As Task
Parametry
- strategy
- IExecutionStrategy
Strategie, která se bude používat pro provádění.
- operation
- Func<CancellationToken,Task>
Funkce, která vrací spuštěný úkol.
- verifySucceeded
- Func<CancellationToken,Task<Boolean>>
Delegát, který testuje, zda operace byla úspěšná, i když byla vyvolána výjimka při potvrzení transakce.
- 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í .
Platí pro
ExecuteInTransactionAsync<TResult>(IExecutionStrategy, Func<CancellationToken, Task<TResult>>, Func<CancellationToken,Task<Boolean>>, CancellationToken)
Provede zadanou asynchronní operaci v transakci a vrátí výsledek. Umožňuje zkontrolovat, zda transakce byla vrácena zpět, pokud dojde k chybě během potvrzení.
public static System.Threading.Tasks.Task<TResult> ExecuteInTransactionAsync<TResult>(this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
<Extension()>
Public Function ExecuteInTransactionAsync(Of TResult) (strategy As IExecutionStrategy, operation As Func(Of CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of CancellationToken, Task(Of Boolean)), Optional cancellationToken As CancellationToken = Nothing) As Task(Of TResult)
Parametry typu
- TResult
Typ výsledku vráceného Task<TResult> uživatelem operation.
Parametry
- strategy
- IExecutionStrategy
Strategie, která se bude používat pro provádění.
- operation
- Func<CancellationToken,Task<TResult>>
Funkce, která vrací spuštěný úkol typu TResult.
- verifySucceeded
- Func<CancellationToken,Task<Boolean>>
Delegát, který testuje, zda operace byla úspěšná, i když byla vyvolána výjimka při potvrzení transakce.
- 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í .
Platí pro
ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken, Task<Boolean>>, TState, DbContext, CancellationToken)
Provede zadanou asynchronní operaci a vrátí výsledek.
public static System.Threading.Tasks.Task<TResult> ExecuteInTransactionAsync<TState,TResult>(this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, TState state, Microsoft.EntityFrameworkCore.DbContext context, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * 'State * Microsoft.EntityFrameworkCore.DbContext * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
<Extension()>
Public Function ExecuteInTransactionAsync(Of TState, TResult) (strategy As IExecutionStrategy, operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of Boolean)), state As TState, context As DbContext, 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
- strategy
- IExecutionStrategy
Strategie, která se bude používat pro provádění.
- 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.
- context
- DbContext
Kontext, který se použije ke spuštění transakce.
- 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
ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, CancellationToken)
Provede zadanou asynchronní operaci v transakci a vrátí výsledek. Umožňuje zkontrolovat, zda transakce byla vrácena zpět, pokud dojde k chybě během potvrzení.
public static System.Threading.Tasks.Task<TResult> ExecuteInTransactionAsync<TState,TResult>(this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, TState state, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * 'State * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
<Extension()>
Public Function ExecuteInTransactionAsync(Of TState, TResult) (strategy As IExecutionStrategy, state As TState, operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of Boolean)), 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
- strategy
- IExecutionStrategy
Strategie, která se bude používat pro provádění.
- state
- TState
Stav, který bude předán operaci.
- 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.
- 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í .
Platí pro
ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, Func<DbContext,CancellationToken, Task<IDbContextTransaction>>, CancellationToken)
Provede zadanou asynchronní operaci v transakci a vrátí výsledek. Umožňuje zkontrolovat, zda transakce byla vrácena zpět, pokud dojde k chybě během potvrzení.
public static System.Threading.Tasks.Task<TResult> ExecuteInTransactionAsync<TState,TResult>(Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, TState state, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<TResult>> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, Func<Microsoft.EntityFrameworkCore.DbContext,System.Threading.CancellationToken,System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction>> beginTransaction, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * 'State * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<'Result>> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * Func<Microsoft.EntityFrameworkCore.DbContext, System.Threading.CancellationToken, System.Threading.Tasks.Task<Microsoft.EntityFrameworkCore.Storage.IDbContextTransaction>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ExecuteInTransactionAsync(Of TState, TResult) (strategy As IExecutionStrategy, state As TState, operation As Func(Of TState, CancellationToken, Task(Of TResult)), verifySucceeded As Func(Of TState, CancellationToken, Task(Of Boolean)), beginTransaction As Func(Of DbContext, CancellationToken, Task(Of IDbContextTransaction)), 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
- strategy
- IExecutionStrategy
Strategie, která se bude používat pro provádění.
- state
- TState
Stav, který bude předán operaci.
- 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.
- beginTransaction
- Func<DbContext,CancellationToken,Task<IDbContextTransaction>>
Delegát, který zahájí transakci pomocí daného kontextu.
- 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í .
Platí pro
ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken, Task<Boolean>>, CancellationToken)
Provede zadanou asynchronní operaci v transakci. Umožňuje zkontrolovat, zda transakce byla vrácena zpět, pokud dojde k chybě během potvrzení.
public static System.Threading.Tasks.Task ExecuteInTransactionAsync<TState>(this Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy strategy, TState state, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task> operation, Func<TState,System.Threading.CancellationToken,System.Threading.Tasks.Task<bool>> verifySucceeded, System.Threading.CancellationToken cancellationToken = default);
static member ExecuteInTransactionAsync : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy * 'State * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task> * Func<'State, System.Threading.CancellationToken, System.Threading.Tasks.Task<bool>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
<Extension()>
Public Function ExecuteInTransactionAsync(Of TState) (strategy As IExecutionStrategy, state As TState, operation As Func(Of TState, CancellationToken, Task), verifySucceeded As Func(Of TState, CancellationToken, Task(Of Boolean)), Optional cancellationToken As CancellationToken = Nothing) As Task
Parametry typu
- TState
Typ stavu.
Parametry
- strategy
- IExecutionStrategy
Strategie, která se bude používat pro provádění.
- state
- TState
Stav, který bude předán operaci.
- operation
- Func<TState,CancellationToken,Task>
Funkce, která vrací spuštěný úkol.
- 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.
- 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í .