Jazyk

ExecutionStrategy Třída

Definice

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

public abstract class ExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy
[System.Runtime.CompilerServices.Nullable(0)]
public abstract class ExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.IExecutionStrategy
type ExecutionStrategy = class
    interface IExecutionStrategy
[<System.Runtime.CompilerServices.Nullable(0)>]
type ExecutionStrategy = class
    interface IExecutionStrategy
Public MustInherit Class ExecutionStrategy
Implements IExecutionStrategy
Dědičnost
ExecutionStrategy
Odvozené
Atributy
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 registrovaných v jakékoli době života. 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

Název Description
ExecutionStrategy(DbContext, Int32, TimeSpan)

Vytvoří novou instanci .ExecutionStrategy

ExecutionStrategy(ExecutionStrategyContext, Int32, TimeSpan)

Vytvoří novou instanci .ExecutionStrategy

ExecutionStrategy(ExecutionStrategyDependencies, Int32, TimeSpan)

Vytvoří novou instanci .ExecutionStrategy

Pole

Název Description
DefaultMaxDelay

Výchozí maximální doba mezi opakovanými pokusy musí být nenákladná.

DefaultMaxRetryCount

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

Vlastnosti

Název Description
Context

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

Current

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

Dependencies

Závislosti pro tuto službu.

ExceptionsEncountered

Seznamvýjimekch

Logger

Protokolovač pro toto ExecutionStrategy.

MaxRetryCount

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

MaxRetryDelay

Maximální prodleva mezi opakovanými pokusy.

Random

Pseudonáhodný generátor čísel, který se dá použít k různí prodlevě mezi opakovanými pokusy.

RetriesOnFailure

Určuje, jestli se to IExecutionStrategy může po selhání opakovat.

Suspended
Zastaralé.

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

Metody

Název Description
CallOnWrappedException<TResult>(Exception, Func<Exception,TResult>)

Rekurzivně získá InnerException z exception tak dlouho, dokud se jedná o výjimku vytvořenou entity Framework a volá exceptionHandler nejvíce vnitřní.

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 volána před spuštěním první operace

OnRetry()

Metoda volána před opakováním provádění operace

ShouldRetryOn(Exception)

Určuje, zda zadaná výjimka představuje přechodné selhání, které může být vykompenzová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í

Název Description
Execute(IExecutionStrategy, Action)

Provede zadanou operaci.

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

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.

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

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>(IExecutionStrategy, Action<TState>, TState)

Provede zadanou operaci.

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

Provede zadanou operaci.

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

Provede zadanou asynchronní operaci.

ExecuteAsync(IExecutionStrategy, Func<Task>)

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, 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.

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, 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,Task<TResult>>)

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

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<TState>(IExecutionStrategy, TState, Func<TState,CancellationToken,Task>, CancellationToken)

Provede zadanou asynchronní operaci.

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

Provede zadanou asynchronní operaci.

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

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

ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>)

Provede zadanou operaci v transakci. Umožňuje zkontrolovat, zda transakce byla 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, zda transakce byla 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, zda transakce byla 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í.

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

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í.

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

Provede zadanou asynchronní operaci v transakci. Umožňuje zkontrolovat, zda transakce byla 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, zda transakce byla 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, zda transakce byla 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, zda transakce byla 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, zda transakce byla 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.

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í.

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

Platí pro