Sprache

SqlServerRetryingExecutionStrategy Klasse

Definition

Eine IExecutionStrategy Implementierung zum Wiederholen fehlgeschlagener Ausführungen für 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
Vererbung
SqlServerRetryingExecutionStrategy
Attribute

Hinweise

Diese Strategie ist speziell auf SQL Server (einschließlich Azure SQL) zugeschnitten. Es ist mit Fehlernummern für vorübergehende Fehler vorkonfiguriert, die wiederholt werden können. Zusätzliche Fehlernummern, die erneut versucht werden sollen, können ebenfalls angegeben werden.

Die Dienstlebensdauer lautet Scoped. Dies bedeutet, dass jede DbContext Instanz eine eigene Instanz dieses Diensts verwendet. Die Implementierung kann von anderen Diensten abhängen, die mit jeder Lebensdauer registriert sind. Die Implementierung muss nicht threadsicher sein.

Weitere Informationen und Beispiele finden Sie unter Verbindungsresilienz und Datenbank-Wiederholungen .

Konstruktoren

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

Erstellt eine neue Instanz von SqlServerRetryingExecutionStrategy.

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

Erstellt eine neue Instanz von SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(DbContext, Int32)

Erstellt eine neue Instanz von SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(DbContext)

Erstellt eine neue Instanz von SqlServerRetryingExecutionStrategy.

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

Erstellt eine neue Instanz von SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext, Int32)

Erstellt eine neue Instanz von SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyContext)

Erstellt eine neue Instanz von SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, IEnumerable<Int32>)

Erstellt eine neue Instanz von SqlServerRetryingExecutionStrategy.

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

Erstellt eine neue Instanz von SqlServerRetryingExecutionStrategy.

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

Erstellt eine neue Instanz von SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies, Int32)

Erstellt eine neue Instanz von SqlServerRetryingExecutionStrategy.

SqlServerRetryingExecutionStrategy(ExecutionStrategyDependencies)

Erstellt eine neue Instanz von SqlServerRetryingExecutionStrategy.

Felder

Name Beschreibung
DefaultMinDelayThrottling

Die minimale Standardzeitverzögerung zwischen Wiederholungsversuchen für Einschränkungsfehler.

Eigenschaften

Name Beschreibung
AdditionalErrorNumbers

Zusätzliche SQL-Fehlernummern, die als vorübergehend betrachtet werden sollten.

Context

Der Kontext, in dem die Vorgänge aufgerufen werden.

(Geerbt von ExecutionStrategy)
Dependencies

Abhängigkeiten für diesen Dienst.

(Geerbt von ExecutionStrategy)
ExceptionsEncountered

Die Liste der Ausnahmen, die dazu geführt haben, dass der Vorgang bisher erneut versucht wurde.

(Geerbt von ExecutionStrategy)
Logger

Der Logger dafür ExecutionStrategy.

(Geerbt von ExecutionStrategy)
MaxRetryCount

Die maximale Anzahl von Wiederholungsversuchen.

(Geerbt von ExecutionStrategy)
MaxRetryDelay

Die maximale Verzögerung zwischen Wiederholungen.

(Geerbt von ExecutionStrategy)
Random

Ein Pseudo-Zufallszahlengenerator, der verwendet werden kann, um die Verzögerung zwischen Wiederholungen zu variieren.

(Geerbt von ExecutionStrategy)
RetriesOnFailure

Gibt an, ob dies IExecutionStrategy nach einem Fehler die Ausführung wiederholen kann.

(Geerbt von ExecutionStrategy)

Methoden

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

Führt den angegebenen Vorgang aus und gibt das Ergebnis zurück.

(Geerbt von ExecutionStrategy)
Execute<TState,TResult>(TState, Func<DbContext,TState,TResult>, Func<DbContext,TState,ExecutionResult<TResult>>)

Führt den angegebenen Vorgang aus und gibt das Ergebnis zurück.

(Geerbt von ExecutionStrategy)
ExecuteAsync<TState,TResult>(Func<TState,CancellationToken,Task<TResult>>, Func<TState,CancellationToken,Task<ExecutionResult<TResult>>>, TState, CancellationToken)

Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück.

(Geerbt von ExecutionStrategy)
ExecuteAsync<TState,TResult>(TState, Func<DbContext,TState,CancellationToken, Task<TResult>>, Func<DbContext,TState,CancellationToken,Task<ExecutionResult<TResult>>>, CancellationToken)

Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück.

(Geerbt von ExecutionStrategy)
ExecuteInTransaction<TState,TResult>(Func<TState,TResult>, Func<TState,Boolean>, TState)

Führt den angegebenen Vorgang in einer Transaktion aus und gibt das Ergebnis nach dem Commit zurück.

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

Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück.

(Geerbt von ExecutionStrategy)
GetNextDelay(Exception)

Bestimmt, ob der Vorgang erneut versucht werden soll, und die Verzögerung vor dem nächsten Versuch.

OnFirstExecution()

Methode, die vor der ersten Ausführung des Vorgangs aufgerufen wird

(Geerbt von ExecutionStrategy)
OnRetry()

Methode aufgerufen, bevor sie die Ausführung des Vorgangs wiederholen

(Geerbt von ExecutionStrategy)
ShouldRetryOn(Exception)

Bestimmt, ob die angegebene Ausnahme einen vorübergehenden Fehler darstellt, der durch einen Wiederholungsversuche kompensiert werden kann. Zusätzliche Ausnahmen für die Wiederholung können an den Konstruktor übergeben werden.

ShouldVerifySuccessOn(Exception)

Bestimmt, ob die angegebene Ausnahme nach einer erfolgreichen Ausführung ausgelöst werden kann.

(Geerbt von ExecutionStrategy)

Erweiterungsmethoden

Name Beschreibung
Execute(IExecutionStrategy, Action)

Führt den angegebenen Vorgang aus.

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

Führt den angegebenen Vorgang aus und gibt das Ergebnis zurück.

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

Führt den angegebenen Vorgang aus und gibt das Ergebnis zurück.

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

Führt den angegebenen Vorgang aus und gibt das Ergebnis zurück.

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

Führt den angegebenen Vorgang aus und gibt das Ergebnis zurück.

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

Führt den angegebenen Vorgang aus und gibt das Ergebnis zurück.

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

Führt den angegebenen Vorgang aus.

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

Führt den angegebenen Vorgang aus.

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

Führt den angegebenen asynchronen Vorgang aus.

ExecuteAsync(IExecutionStrategy, Func<Task>)

Führt den angegebenen asynchronen Vorgang aus.

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

Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück.

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

Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück.

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

Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück.

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

Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück.

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

Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück.

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

Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück.

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

Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück.

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

Führt den angegebenen asynchronen Vorgang aus.

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

Führt den angegebenen asynchronen Vorgang aus.

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

Führt den angegebenen asynchronen Vorgang aus.

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

Führt den angegebenen asynchronen Vorgang aus.

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

Führt den angegebenen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt.

ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>)

Führt den angegebenen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt.

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

Führt den angegebenen Vorgang in einer Transaktion aus und gibt das Ergebnis zurück. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt.

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

Führt den angegebenen Vorgang in einer Transaktion aus und gibt das Ergebnis zurück. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt.

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

Führt den angegebenen Vorgang in einer Transaktion aus und gibt das Ergebnis nach dem Commit zurück.

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

Führt den angegebenen Vorgang in einer Transaktion aus und gibt das Ergebnis zurück. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt.

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

Führt den angegebenen Vorgang in einer Transaktion aus und gibt das Ergebnis zurück. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt.

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

Führt den angegebenen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt.

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

Führt den angegebenen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt.

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

Führt den angegebenen asynchronen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt.

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

Führt den angegebenen asynchronen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt.

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

Führt den angegebenen asynchronen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt.

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

Führt den angegebenen asynchronen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt.

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

Führt den angegebenen asynchronen Vorgang in einer Transaktion aus und gibt das Ergebnis zurück. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt.

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

Führt den angegebenen asynchronen Vorgang in einer Transaktion aus und gibt das Ergebnis zurück. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt.

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

Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück.

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

Führt den angegebenen asynchronen Vorgang in einer Transaktion aus und gibt das Ergebnis zurück. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt.

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

Führt den angegebenen asynchronen Vorgang aus und gibt das Ergebnis zurück. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt.

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

Führt den angegebenen asynchronen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt.

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

Führt den angegebenen asynchronen Vorgang in einer Transaktion aus. Ermöglicht das Überprüfen, ob die Transaktion zurückgesetzt wurde, wenn während des Commits ein Fehler auftritt.

Gilt für: