SqlServerRetryingExecutionStrategy Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Eine IExecutionStrategy Implementierung zum Wiederholen fehlgeschlagener Ausführungen auf SQL Server.
public class SqlServerRetryingExecutionStrategy : Microsoft.EntityFrameworkCore.Storage.ExecutionStrategy
type SqlServerRetryingExecutionStrategy = class
inherit ExecutionStrategy
Public Class SqlServerRetryingExecutionStrategy
Inherits ExecutionStrategy
- Vererbung
Hinweise
Diese Strategie ist speziell auf SQL Server (einschließlich Azure SQL) zugeschnitten. Es ist mit Fehlernummern für vorübergehende Fehler, die wiederholt werden können, vorkonfiguriert. Es können auch zusätzliche Fehlernummern angegeben werden, die erneut ausgeführt werden sollen.
Die Dienstlebensdauer ist Scoped. Dies bedeutet, dass jeder DbContext instance seine eigene instance dieses Diensts verwendet. Die Implementierung kann von anderen Diensten abhängen, die mit einer beliebigen Lebensdauer registriert sind. Die Implementierung muss nicht threadsicher sein.
Weitere Informationen und Beispiele finden Sie unter Verbindungsresilienz und Datenbank-Wiederholungen .
Konstruktoren
Felder
DefaultMinDelayThrottling |
Die standardmäßige minimale Zeitverzögerung zwischen Wiederholungen für Drosselungsfehler. |
Eigenschaften
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 wiederholt wurde. (Geerbt von ExecutionStrategy) |
Logger |
Die Protokollierung für diesen ExecutionStrategy. (Geerbt von ExecutionStrategy) |
MaxRetryCount |
Die maximale Anzahl der Wiederholungsversuche. (Geerbt von ExecutionStrategy) |
MaxRetryDelay |
Die maximale Verzögerung zwischen Wiederholungsversuchen. (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 die IExecutionStrategy Ausführung nach einem Fehler erneut ausgeführt werden kann. (Geerbt von ExecutionStrategy) |
Methoden
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 wiederholt werden soll, und die Verzögerung vor dem nächsten Versuch. |
OnFirstExecution() |
Methode, die vor der ersten Ausführung des Vorgangs aufgerufen wurde (Geerbt von ExecutionStrategy) |
OnRetry() |
Methode, die aufgerufen wird, bevor die Ausführung des Vorgangs wiederholt wird (Geerbt von ExecutionStrategy) |
ShouldRetryOn(Exception) |
Bestimmt, ob die angegebene Ausnahme einen vorübergehenden Fehler darstellt, der durch einen Wiederholungsversuch kompensiert werden kann. Weitere Ausnahmen zum Wiederholen 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
Execute(IExecutionStrategy, Action) |
Führt den angegebenen Vorgang aus. |
Execute<TState>(IExecutionStrategy, TState, Action<TState>) |
Führt den angegebenen Vorgang aus. |
Execute<TState>(IExecutionStrategy, Action<TState>, TState) |
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, TState, Func<TState,TResult>) |
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, Func<TState,TResult>, TState) |
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. |
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<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. |
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<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, 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,CancellationToken,Task<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,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. |
ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>) |
Führt den angegebenen Vorgang in einer Transaktion aus. Ermöglicht die Überprüfung, ob ein Rollback für die Transaktion durchgeführt 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 die Überprüfung, ob ein Rollback für die Transaktion durchgeführt 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 die Überprüfung, ob ein Rollback für die Transaktion durchgeführt 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 die Überprüfung, ob ein Rollback für die Transaktion durchgeführt 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. |
ExecuteInTransactionAsync(IExecutionStrategy, Func<CancellationToken,Task>, Func<CancellationToken,Task<Boolean>>, CancellationToken) |
Führt den angegebenen asynchronen Vorgang in einer Transaktion aus. Ermöglicht die Überprüfung, ob ein Rollback für die Transaktion durchgeführt 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 die Überprüfung, ob ein Rollback für die Transaktion durchgeführt 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 die Überprüfung, ob ein Rollback für die Transaktion durchgeführt 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 die Überprüfung, ob ein Rollback für die Transaktion durchgeführt wurde, wenn während des Commits ein Fehler auftritt. |
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 die Überprüfung, ob ein Rollback für die Transaktion durchgeführt 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. |
ExecuteInTransaction(IExecutionStrategy, Action, Func<Boolean>, IsolationLevel) |
Führt den angegebenen Vorgang in einer Transaktion aus. Ermöglicht die Überprüfung, ob ein Rollback für die Transaktion durchgeführt 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 die Überprüfung, ob ein Rollback für die Transaktion durchgeführt 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 die Überprüfung, ob ein Rollback für die Transaktion durchgeführt wurde, wenn während des Commits ein Fehler auftritt. |
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 die Überprüfung, ob ein Rollback für die Transaktion durchgeführt 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 die Überprüfung, ob ein Rollback für die Transaktion durchgeführt 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 die Überprüfung, ob ein Rollback für die Transaktion durchgeführt 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 die Überprüfung, ob ein Rollback für die Transaktion durchgeführt 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 die Überprüfung, ob ein Rollback für die Transaktion durchgeführt 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 die Überprüfung, ob ein Rollback für die Transaktion durchgeführt wurde, wenn während des Commits ein Fehler auftritt. |
Gilt für:
Entity Framework