DbExecutionStrategy-Klasse
[Diese Seite bezieht sich auf Entity Framework Version 6. Die neueste Version ist als 'Entity Framework' NuGet-Paket verfügbar. Weitere Informationen zu Entity Framework finden Sie unter msdn.com/data/ef.]
Stellt die Basisimplementierung des Wiederholungsmechanismus für unzuverlässige Vorgänge und Übergangszustände bereit, die exponentiell vergrößerte Verzögerungen zwischen Wiederholungen nutzt.
Vererbungshierarchie
System.Object
System.Data.Entity.Infrastructure.DbExecutionStrategy
System.Data.Entity.SqlServer.SqlAzureExecutionStrategy
Namespace: System.Data.Entity.Infrastructure
Assembly: EntityFramework (in EntityFramework.dll)
Syntax
'Declaration
Public MustInherit Class DbExecutionStrategy _
Implements IDbExecutionStrategy
'Usage
Dim instance As DbExecutionStrategy
public abstract class DbExecutionStrategy : IDbExecutionStrategy
public ref class DbExecutionStrategy abstract : IDbExecutionStrategy
[<AbstractClassAttribute>]
type DbExecutionStrategy =
class
interface IDbExecutionStrategy
end
public abstract class DbExecutionStrategy implements IDbExecutionStrategy
Der DbExecutionStrategy-Typ macht die folgenden Member verfügbar.
Konstruktoren
Name | Beschreibung | |
---|---|---|
DbExecutionStrategy() | Initialisiert eine neue Instanz der DbExecutionStrategy-Klasse. | |
DbExecutionStrategy(Int32, TimeSpan) | Initialisiert eine neue Instanz der DbExecutionStrategy-Klasse mit den angegebenen Einschränkungen für die Anzahl von Wiederholungen und die Verzögerung zwischen Wiederholungen. |
Oben
Eigenschaften
Name | Beschreibung | |
---|---|---|
RetriesOnFailure | Ruft einen Wert ab, der angibt, ob die DbExecutionStrategy nach einem Fehler die Ausführung erneut versuchen kann. |
Oben
Methoden
Name | Beschreibung | |
---|---|---|
Equals | (Von Object geerbt.) | |
Execute(Action) | Führt wiederholt den angegebenen Vorgang aus und erfüllt gleichzeitig die aktuelle Wiederholungsrichtlinie. | |
Execute<TResult>(Func<TResult>) | Führt wiederholt den angegebenen Vorgang aus und erfüllt gleichzeitig die aktuelle Wiederholungsrichtlinie. | |
ExecuteAsync(Func<Task>, CancellationToken) | Führt wiederholt den angegebenen asynchronen Vorgang aus und erfüllt gleichzeitig die aktuelle Wiederholungsrichtlinie. | |
ExecuteAsync<TResult>(Func<Task<TResult>>, CancellationToken) | Führt wiederholt den angegebenen asynchronen Vorgang aus und erfüllt gleichzeitig die aktuelle Wiederholungsrichtlinie. | |
Finalize | (Von Object geerbt.) | |
GetHashCode | (Von Object geerbt.) | |
GetNextDelay | Bestimmt, ob der Vorgang wiederholt werden soll sowie die Verzögerung vor dem nächsten Versuch. | |
GetType | (Von Object geerbt.) | |
MemberwiseClone | (Von Object geerbt.) | |
ShouldRetryOn | Bestimmt, ob die angegebene Ausnahme ein vorübergehendes Problem darstellt, das durch eine Wiederholung gelöst werden kann. | |
ToString | (Von Object geerbt.) | |
UnwrapAndHandleException<T> | Bezieht InnerException rekursiv von exception solange es sich um EntityException, DbUpdateException oder UpdateException handelt und übergibt sie an exceptionHandler. |
Oben
Hinweise
Jedes Mal, wenn ein Vorgang ausgeführt wird, wird eine neue Instanz erstellt. Die folgende Formel wird verwendet, um die Verzögerung nach retryCount Versuchen 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 gleichzeitigen Vorgängen, die gleichzeitig fehlschlagen.
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.