Jazyk

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
[System.Runtime.CompilerServices.Nullable(0)]
public class SqlServerRetryingExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.ExecutionStrategy
type SqlServerRetryingExecutionStrategy = class
    inherit ExecutionStrategy
[<System.Runtime.CompilerServices.Nullable(0)>]
type SqlServerRetryingExecutionStrategy = class
    inherit ExecutionStrategy
Public Class SqlServerRetryingExecutionStrategy
Inherits ExecutionStrategy
Dědičnost
SqlServerRetryingExecutionStrategy
Atributy

Poznámky

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

Ž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
SqlServerRetryingExecutionStrategy(DbContext, Int32, TimeSpan, ICollection<Int32>)

Vytvoří novou instanci .SqlServerRetryingExecutionStrategy

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

Vytvoří novou instanci .SqlServerRetryingExecutionStrategy

SqlServerRetryingExecutionStrategy(DbContext, Int32)

Vytvoří novou instanci .SqlServerRetryingExecutionStrategy

SqlServerRetryingExecutionStrategy(DbContext)

Vytvoří novou instanci .SqlServerRetryingExecutionStrategy

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

Vytvoří novou instanci .SqlServerRetryingExecutionStrategy

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext, Int32)

Vytvoří novou instanci .SqlServerRetryingExecutionStrategy

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext)

Vytvoří novou instanci .SqlServerRetryingExecutionStrategy

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, IEnumerable<Int32>)

Vytvoří novou instanci .SqlServerRetryingExecutionStrategy

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

Vytvoří novou instanci .SqlServerRetryingExecutionStrategy

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

Vytvoří novou instanci .SqlServerRetryingExecutionStrategy

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, Int32)

Vytvoří novou instanci .SqlServerRetryingExecutionStrategy

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies)

Vytvoří novou instanci .SqlServerRetryingExecutionStrategy

Pole

Název Description
DefaultMinDelayThrottling

Výchozí minimální časové zpoždění mezi opakovanými pokusy o chyby omezování.

Vlastnosti

Název Description
AdditionalErrorNumbers

Další chybová čísla SQL, která by se měla považovat za přechodná.

Context

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

(Zděděno od ExecutionStrategy)
Dependencies

Závislosti pro tuto službu.

(Zděděno od ExecutionStrategy)
ExceptionsEncountered

Seznamvýjimekch

(Zděděno od ExecutionStrategy)
Logger

Protokolovač pro toto ExecutionStrategy.

(Zděděno od ExecutionStrategy)
MaxRetryCount

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

(Zděděno od ExecutionStrategy)
MaxRetryDelay

Maximální prodleva mezi opakovanými pokusy.

(Zděděno od ExecutionStrategy)
Random

Pseudonáhodný generátor čísel, který se dá použít k různí prodlevě 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

Název Description
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 vrátí výsledek po potvrzení.

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

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

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

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

Určuje, zda zadaná výjimka představuje přechodné selhání, které může být vykompenzováno opakováním. Do konstruktoru je možné předat další výjimky pro opakování.

ShouldVerifySuccessOn(Exception)

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

(Zděděno od ExecutionStrategy)

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