DbExecutionStrategy 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.
Stellt die Basisimplementierung des Wiederholungsmechanismus für unzuverlässige Vorgänge und vorübergehende Bedingungen bereit, die exponentiell zunehmende Verzögerungen zwischen Wiederholungen verwenden.
public abstract class DbExecutionStrategy : System.Data.Entity.Infrastructure.IDbExecutionStrategy
type DbExecutionStrategy = class
interface IDbExecutionStrategy
Public MustInherit Class DbExecutionStrategy
Implements IDbExecutionStrategy
- Vererbung
-
DbExecutionStrategy
- Abgeleitet
- Implementiert
Hinweise
Bei jeder Ausführung eines Vorgangs wird ein neuer instance erstellt. Die folgende Formel wird verwendet, um die Verzögerung nach retryCount
der Anzahl der Versuche zu berechnen: min(random(1, 1.1) * (2 ^ retryCount - 1), maxDelay)
Der retryCount
beginnt bei 0. Der Zufallsfaktor verteilt gleichmäßig die Wiederholungsversuche aus mehreren gleichzeitig fehlgeschlagenen Vorgängen.
Konstruktoren
DbExecutionStrategy() |
Erstellt eine neue Instanz von DbExecutionStrategy. |
DbExecutionStrategy(Int32, TimeSpan) |
Erstellt eine neue instance von DbExecutionStrategy mit den angegebenen Grenzwerten für die Anzahl von Wiederholungen und die Verzögerung zwischen Wiederholungen. |
Eigenschaften
RetriesOnFailure |
Gibt zurück |
Suspended |
Gibt an, ob die Strategie angehalten wird. Die Strategie wird in der Regel während der Ausführung angehalten, um die rekursive Ausführung von geschachtelten Vorgängen zu vermeiden. |
Methoden
Execute(Action) |
Wiederholt wird der angegebene Vorgang ausgeführt, während er die aktuelle Wiederholungsrichtlinie erfüllt. |
Execute<TResult>(Func<TResult>) |
Wiederholt wird der angegebene Vorgang ausgeführt, während er die aktuelle Wiederholungsrichtlinie erfüllt. |
ExecuteAsync(Func<Task>, CancellationToken) |
Wiederholt wird der angegebene asynchrone Vorgang ausgeführt, während er die aktuelle Wiederholungsrichtlinie erfüllt. |
ExecuteAsync<TResult>(Func<Task<TResult>>, CancellationToken) |
Führt den angegebenen asynchronen Vorgang wiederholt aus, während er die aktuelle Wiederholungsrichtlinie erfüllt. |
GetNextDelay(Exception) |
Bestimmt, ob der Vorgang wiederholt werden soll, und die Verzögerung vor dem nächsten Versuch. |
ShouldRetryOn(Exception) |
Bestimmt, ob die angegebene Ausnahme einen vorübergehenden Fehler darstellt, der durch einen Wiederholungsversuch kompensiert werden kann. |
UnwrapAndHandleException<T>(Exception, Func<Exception,T>) |
Rekursiv ruft InnerException von ab |
Gilt für:
Entity Framework