Sdílet prostřednictvím


SqlServerRetryingExecutionStrategy Třída

Definice

Implementace IExecutionStrategy pro opakování neúspěšných spuštění na SQL Server.

public class SqlServerRetryingExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.ExecutionStrategy
type SqlServerRetryingExecutionStrategy = class
    inherit ExecutionStrategy
Public Class SqlServerRetryingExecutionStrategy
Inherits ExecutionStrategy
Dědičnost
SqlServerRetryingExecutionStrategy

Poznámky

Tato strategie je speciálně přizpůsobená SQL Server (včetně Azure SQL). Je předem nakonfigurovaná s čísly chyb pro přechodné chyby, které je možné opakovat. Je také možné zadat další čísla chyb, které se mají opakovat.

Ž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 s libovolnou životností. Implementace nemusí být bezpečná pro přístup z více vláken.

Další informace a příklady najdete v tématu Věnovaném odolnosti připojení a opakovaným pokusům o databázi .

Konstruktory

SqlServerRetryingExecutionStrategy(DbContext)

Vytvoří novou instanci položky SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(DbContext, Int32)

Vytvoří novou instanci položky SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(DbContext, Int32, TimeSpan, ICollection<Int32>)

Vytvoří novou instanci položky SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(DbContext, Int32, TimeSpan, IEnumerable<Int32>)

Vytvoří novou instanci položky SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext)

Vytvoří novou instanci položky SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext, Int32)

Vytvoří novou instanci položky SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext, Int32, TimeSpan, ICollection<Int32>)

Vytvoří novou instanci položky SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies)

Vytvoří novou instanci položky SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, IEnumerable<Int32>)

Vytvoří novou instanci položky SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, Int32)

Vytvoří novou instanci položky SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, Int32, TimeSpan, ICollection<Int32>)

Vytvoří novou instanci položky SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, Int32, TimeSpan, IEnumerable<Int32>)

Vytvoří novou instanci položky SqlServerRetryingExecutionStrategy.

Pole

DefaultMinDelayThrottling

Výchozí minimální časová prodleva mezi opakováními pro chyby omezování.

Vlastnosti

AdditionalErrorNumbers

Další čísla chyb SQL, která by měla být považována za přechodná.

Context

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

(Zděděno od ExecutionStrategy)
Dependencies

Závislosti pro tuto službu

(Zděděno od ExecutionStrategy)
ExceptionsEncountered

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

(Zděděno od ExecutionStrategy)
Logger

Protokolovací nástroje pro tento ExecutionStrategy.

(Zděděno od ExecutionStrategy)
MaxRetryCount

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

(Zděděno od ExecutionStrategy)
MaxRetryDelay

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

(Zděděno od ExecutionStrategy)
Random

Pseudonáhodný generátor čísel, který lze použít ke zpožďování mezi opakovanými pokusy.

(Zděděno od ExecutionStrategy)
RetriesOnFailure

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

(Zděděno od ExecutionStrategy)

Metody

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

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

(Zděděno od ExecutionStrategy)
Execute<TState,TResult>(TState, Func<DbContext,TState,TResult>, Func<DbContext,TState,ExecutionResult<TResult>>)

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

(Zděděno od ExecutionStrategy)
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.

(Zděděno od ExecutionStrategy)
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.

(Zděděno od ExecutionStrategy)
ExecuteInTransaction<TState,TResult>(Func<TState,TResult>, Func<TState,Boolean>, TState)

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

(Zděděno od ExecutionStrategy)
ExecuteInTransactionAsync<TState,TResult>(Func<TState,CancellationToken, Task<TResult>>, Func<TState,CancellationToken,Task<Boolean>>, TState, CancellationToken)

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

(Zděděno od ExecutionStrategy)
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

(Zděděno od ExecutionStrategy)
OnRetry()

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

(Zděděno od ExecutionStrategy)
ShouldRetryOn(Exception)

Určuje, zda zadaná výjimka představuje přechodné selhání, které lze nahradit opakováním. Další výjimky pro opakování mohou být předány konstruktoru.

ShouldVerifySuccessOn(Exception)

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

(Zděděno od ExecutionStrategy)

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>)

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

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, 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,TResult>(IExecutionStrategy, Func<TState,TResult>, Func<TState,Boolean>, TState, DbContext)

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

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

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

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

Platí pro