Sdílet prostřednictvím


ExecutionStrategy Třída

Definice

Základní třída pro IExecutionStrategy implementace.

public abstract class ExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy
type ExecutionStrategy = class
    interface IExecutionStrategy
Public MustInherit Class ExecutionStrategy
Implements IExecutionStrategy
Dědičnost
ExecutionStrategy
Odvozené
Implementuje

Poznámky

Životnost služby je Scoped. To znamená, že každá DbContext instance bude používat vlastní instanci této služby. Implementace může záviset na jiných službách zaregistrovaných v jakékoli životnosti. Implementace nemusí být bezpečná pro přístup z více vláken.

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

Konstruktory

ExecutionStrategy(DbContext, Int32, TimeSpan)

Vytvoří novou instanci položky ExecutionStrategy.

ExecutionStrategy(ExecutionStrategyContext, Int32, TimeSpan)

Vytvoří novou instanci položky ExecutionStrategy.

ExecutionStrategy(ExecutionStrategyDependencies, Int32, TimeSpan)

Vytvoří novou instanci položky ExecutionStrategy.

Pole

DefaultMaxDelay

Výchozí maximální doba zpoždění mezi opakováními musí být nezásadná.

DefaultMaxRetryCount

Výchozí počet pokusů o opakování

Vlastnosti

Context

Kontext, ve kterém budou vyvolány operace.

Current

Získá nebo nastaví aktuálně spuštěnou strategii. Všechna vnořená volání budou řešena vnější strategií.

Dependencies

Závislosti pro tuto službu.

ExceptionsEncountered

Seznam výjimek, které způsobily opakování operace.

Logger

Protokolovací nástroj pro tento ExecutionStrategynástroj .

MaxRetryCount

Maximální počet opakovaných pokusů.

MaxRetryDelay

Maximální zpoždění mezi opakovanými pokusy.

Random

Pseudonáhodný generátor čísel, který lze použít k rozdílu zpoždění mezi opakovanými pokusy.

RetriesOnFailure

Určuje, jestli se to IExecutionStrategy může po selhání pokusit provést znovu.

Suspended
Zastaralé.

Označuje, jestli je strategie pozastavena. Strategie se při provádění obvykle pozastavuje, aby se zabránilo rekurzivnímu provádění z vnořených operací.

Metody

CallOnWrappedException<TResult>(Exception, Func<Exception,TResult>)

Rekurzivně získá InnerException z exception , pokud se jedná o výjimku vytvořenou Entity Framework a volá exceptionHandler na nejvnitřněnější.

Execute<TState,TResult>(Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>, TState)

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

Execute<TState,TResult>(TState, Func<DbContext,TState,TResult>, Func<DbContext,TState,ExecutionResult<TResult>>)

Provede zadanou 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.

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.

ExecuteInTransaction<TState,TResult>(Func<TState,TResult>, Func<TState,Boolean>, TState)

Provede zadanou operaci v transakci a vrátí výsledek po potvrzení.

ExecuteInTransactionAsync<TState,TResult>(Func<TState,CancellationToken, Task<TResult>>, Func<TState,CancellationToken,Task<Boolean>>, TState, CancellationToken)

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

GetNextDelay(Exception)

Určuje, zda se má operace opakovat, a zpoždění před dalším pokusem.

OnFirstExecution()

Metoda volaná před spuštěním první operace

OnRetry()

Metoda volaná před opakováním spuštění operace

ShouldRetryOn(Exception)

Určuje, zda zadaná výjimka představuje přechodné selhání, které může být kompenzováno opakováním.

ShouldVerifySuccessOn(Exception)

Určuje, zda zadaná výjimka může být vyvolán po úspěšném spuštění.

Metody rozšíření

Execute(IExecutionStrategy, Action)

Provede zadanou operaci.

Execute<TState>(IExecutionStrategy, TState, Action<TState>)

Provede zadanou operaci.

Execute<TState>(IExecutionStrategy, Action<TState>, TState)

Provede zadanou operaci.

Execute<TResult>(IExecutionStrategy, Func<TResult>)

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

Execute<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>)

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

Execute<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>)

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

Execute<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, TState)

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

Execute<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, Func<TState,ExecutionResult<TResult>>, TState)
Zastaralé.

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

ExecuteAsync(IExecutionStrategy, Func<CancellationToken,Task>, CancellationToken)

Provede zadanou asynchronní operaci.

ExecuteAsync(IExecutionStrategy, Func<Task>)

Provede zadanou asynchronní operaci.

ExecuteAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, CancellationToken)

Provede zadanou asynchronní operaci.

ExecuteAsync<TState>(IExecutionStrategy, TState, Func<TState,Task>)

Provede zadanou asynchronní operaci.

ExecuteAsync<TState>(IExecutionStrategy, Func<TState,CancellationToken,Task>, TState, CancellationToken)

Provede zadanou asynchronní operaci.

ExecuteAsync<TState>(IExecutionStrategy, Func<TState,Task>, TState)

Provede zadanou asynchronní operaci.

ExecuteAsync<TResult>(IExecutionStrategy, Func<CancellationToken,Task<TResult>>, CancellationToken)

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

ExecuteAsync<TResult>(IExecutionStrategy, Func<Task<TResult>>)

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

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

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

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

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

ExecuteAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,Task<TResult>>)

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

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

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

ExecuteAsync<TState,TResult>(IExecutionStrategy, Func<TState,Task<TResult>>, TState)

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

ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>)

Provede zadanou operaci v transakci. Umožňuje zkontrolovat, jestli byla transakce vrácena zpět, pokud dojde k chybě během potvrzení.

ExecuteInTransaction<TState>(IExecutionStrategy, TState, Action<TState>, Func<TState,Boolean>)

Provede zadanou operaci v transakci. Umožňuje zkontrolovat, jestli byla transakce vrácena zpět, pokud dojde k chybě během potvrzení.

ExecuteInTransaction<TResult>(IExecutionStrategy, Func<TResult>, Func<Boolean>)

Provede zadanou operaci v transakci a vrátí výsledek. Umožňuje zkontrolovat, jestli byla transakce vrácena zpět, pokud dojde k chybě během potvrzení.

ExecuteInTransaction<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>, Func<TState,Boolean>)

Provede zadanou operaci v transakci a vrátí výsledek. Umožňuje zkontrolovat, jestli byla transakce vrácena zpět, pokud dojde k chybě během potvrzení.

ExecuteInTransaction<TState,TResult>(IExecutionStrategy, Func<TState,TResult>, Func<TState,Boolean>, TState, DbContext)

Provede zadanou operaci v transakci a vrátí výsledek po potvrzení.

ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, CancellationToken)

Provede zadanou asynchronní operaci v transakci. Umožňuje zkontrolovat, jestli byla transakce vrácena zpět, pokud dojde k chybě během potvrzení.

ExecuteInTransactionAsync(IExecutionStrategy, Func<Task>, Func<Task<Boolean>>)

Provede zadanou asynchronní operaci v transakci. Umožňuje zkontrolovat, jestli byla transakce vrácena zpět, pokud dojde k chybě během potvrzení.

ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken, Task<Boolean>>, CancellationToken)

Provede zadanou asynchronní operaci v transakci. Umožňuje zkontrolovat, jestli byla transakce vrácena zpět, pokud dojde k chybě během potvrzení.

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, jestli byla transakce vrácena zpět, pokud dojde k chybě během potvrzení.

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, jestli byla transakce vrácena zpět, pokud dojde k chybě během potvrzení.

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.

ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>, IsolationLevel)

Provede zadanou operaci v transakci. Umožňuje zkontrolovat, jestli byla transakce vrácena zpět, pokud dojde k chybě během potvrzení.

ExecuteInTransaction<TState>(IExecutionStrategy, TState, Action<TState>, Func<TState,Boolean>, IsolationLevel)

Provede zadanou operaci v transakci. Umožňuje zkontrolovat, jestli byla transakce vrácena zpět, pokud dojde k chybě během potvrzení.

ExecuteInTransaction<TResult>(IExecutionStrategy, Func<TResult>, Func<Boolean>, IsolationLevel)

Provede zadanou operaci v transakci a vrátí výsledek. Umožňuje zkontrolovat, jestli byla transakce vrácena zpět, pokud dojde k chybě během potvrzení.

ExecuteInTransaction<TState,TResult>(IExecutionStrategy, TState, Func<TState,TResult>, Func<TState,Boolean>, IsolationLevel)

Provede zadanou operaci v transakci a vrátí výsledek. Umožňuje zkontrolovat, jestli byla transakce vrácena zpět, pokud dojde k chybě během potvrzení.

ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

Provede zadanou asynchronní operaci v transakci. Umožňuje zkontrolovat, jestli byla transakce vrácena zpět, pokud dojde k chybě během potvrzení.

ExecuteInTransactionAsync(IExecutionStrategy, Func<Task>, Func<Task<Boolean>>, IsolationLevel)

Provede zadanou asynchronní operaci v transakci. Umožňuje zkontrolovat, jestli byla transakce vrácena zpět, pokud dojde k chybě během potvrzení.

ExecuteInTransactionAsync<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, Func<TState,CancellationToken, Task<Boolean>>, IsolationLevel, CancellationToken)

Provede zadanou asynchronní operaci v transakci. Umožňuje zkontrolovat, jestli byla transakce vrácena zpět, pokud dojde k chybě během potvrzení.

ExecuteInTransactionAsync<TResult>(IExecutionStrategy, Func<CancellationToken, Task<TResult>>, Func<CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

Provede zadanou asynchronní operaci v transakci a vrátí výsledek. Umožňuje zkontrolovat, jestli byla transakce vrácena zpět, pokud dojde k chybě během potvrzení.

ExecuteInTransactionAsync<TState,TResult>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task<TResult>>, Func<TState, CancellationToken,Task<Boolean>>, IsolationLevel, CancellationToken)

Provede zadanou asynchronní operaci a vrátí výsledek. Umožňuje zkontrolovat, jestli byla transakce vrácena zpět, pokud dojde k chybě během potvrzení.

Platí pro