Freigeben über


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
Geschützte Methode DbExecutionStrategy() Initialisiert eine neue Instanz der DbExecutionStrategy-Klasse.
Geschützte Methode 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
Öffentliche Eigenschaft RetriesOnFailure Ruft einen Wert ab, der angibt, ob die DbExecutionStrategy nach einem Fehler die Ausführung erneut versuchen kann.

Oben

Methoden

  Name Beschreibung
Öffentliche Methode Equals (Von Object geerbt.)
Öffentliche Methode Execute(Action) Führt wiederholt den angegebenen Vorgang aus und erfüllt gleichzeitig die aktuelle Wiederholungsrichtlinie.
Öffentliche Methode Execute<TResult>(Func<TResult>) Führt wiederholt den angegebenen Vorgang aus und erfüllt gleichzeitig die aktuelle Wiederholungsrichtlinie.
Öffentliche Methode ExecuteAsync(Func<Task>, CancellationToken) Führt wiederholt den angegebenen asynchronen Vorgang aus und erfüllt gleichzeitig die aktuelle Wiederholungsrichtlinie.
Öffentliche Methode ExecuteAsync<TResult>(Func<Task<TResult>>, CancellationToken) Führt wiederholt den angegebenen asynchronen Vorgang aus und erfüllt gleichzeitig die aktuelle Wiederholungsrichtlinie.
Geschützte Methode Finalize (Von Object geerbt.)
Öffentliche Methode GetHashCode (Von Object geerbt.)
Geschützte Methode GetNextDelay Bestimmt, ob der Vorgang wiederholt werden soll sowie die Verzögerung vor dem nächsten Versuch.
Öffentliche Methode GetType (Von Object geerbt.)
Geschützte Methode MemberwiseClone (Von Object geerbt.)
Geschützte Methode ShouldRetryOn Bestimmt, ob die angegebene Ausnahme ein vorübergehendes Problem darstellt, das durch eine Wiederholung gelöst werden kann.
Öffentliche Methode ToString (Von Object geerbt.)
Öffentliche MethodeStatischer Member 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.

Siehe auch

Verweis

System.Data.Entity.Infrastructure-Namespace