Einführung in konfigurierbare Wiederholungslogik in SqlClient
Gilt für: .NET Framework .NET .NET Standard
Mithilfe der konfigurierbaren Wiederholungslogik können Entwickler und Administratoren das Anwendungsverhalten verwalten, wenn vorübergehende Fehler auftreten. Dieses Feature fügt Steuerelemente während der Verbindung oder der Ausführung eines Befehls hinzu. Die Steuerelemente können durch Code oder eine Anwendungskonfigurationsdatei definiert werden. Vorübergehende Fehlernummern und Wiederholungseigenschaften können definiert werden, um das Wiederholungsverhalten zu steuern. Außerdem können reguläre Ausdrücke zum Filtern von bestimmten SQL-Anweisungen verwendet werden.
Featurekomponenten
Dieses Feature besteht aus drei Hauptkomponenten:
- Core-APIs: Entwickler können diese Schnittstellen verwenden, um ihre eigene Wiederholungslogik für SqlConnection- und SqlCommand-Objekte zu implementieren. Weitere Informationen finden Sie unter Core-APIs für konfigurierbare Wiederholungslogik in SqlClient.
- Vordefinierte konfigurierbare Wiederholungslogik: Integrierte Methoden für Wiederholungslogik, die die Core-APIs verwenden, können aus der SqlConfigurableRetryFactory-Klasse aufgerufen werden. Weitere Informationen finden Sie unter Interne Anbieter von Wiederholungslogik in SqlClient.
- Schema der Konfigurationsdatei: Hiermit wird die standardmäßige Wiederholungslogik für SqlConnection und SqlCommand in einer Anwendung angegeben. Weitere Informationen finden Sie unter Konfigurationsdatei für konfigurierbare Wiederholungslogik mit SqlClient.
Schnellstart
Wenn Sie dieses Feature verwenden möchten, führen Sie die folgenden vier Schritte aus:
Aktivieren Sie den Sicherheitsschalter in der Vorschauversion. Informationen dazu, wie Sie den AppContext-Sicherheitsschalter aktivieren können, finden Sie unter Aktivieren der konfigurierbaren Wiederholungslogik.
Definieren Sie die Optionen für Wiederholungslogik mithilfe von SqlRetryLogicOption.
In diesem Beispiel werden einige der Wiederholungsparameter festgelegt, und die übrigen Parameter verwenden die Standardwerte.// Define the retry logic parameters var options = new SqlRetryLogicOption() { // Tries 5 times before throwing an exception NumberOfTries = 5, // Preferred gap time to delay before retry DeltaTime = TimeSpan.FromSeconds(1), // Maximum gap time for each delay time before retry MaxTimeInterval = TimeSpan.FromSeconds(20) };
Erstellen Sie einen Anbieter von Wiederholungslogik mithilfe Ihres SqlRetryLogicOption-Objekts.
// Create a retry logic provider SqlRetryLogicBaseProvider provider = SqlConfigurableRetryFactory.CreateExponentialRetryProvider(options);
Weisen Sie die SqlRetryLogicBaseProvider-Instanz dem SqlConnection.RetryLogicProvider oder dem SqlCommand.RetryLogicProvider zu.
In diesem Beispiel wird der Befehl zum Öffnen der Verbindung wiederholt, wenn in der internen SqlConfigurableRetryFactory-Liste ein vorübergehender Fehler maximal fünfmal auftritt.// Assumes that connection is a valid SqlConnection object // Set the retry logic provider on the connection instance connection.RetryLogicProvider = provider; // Establishing the connection will retry if a transient failure occurs. connection.Open();
Hinweis
Diese Schritte sind für die Ausführung eines Befehls identisch – außer wenn Sie stattdessen vor Ausführung des Befehls den Wiederholungsanbieter der Eigenschaft SqlCommand.RetryLogicProvider zuweisen.
Weitere Informationen
- Core-APIs für konfigurierbare Wiederholungslogik in SqlClient
- Interne Anbieter von Wiederholungslogik in SqlClient
- Konfigurationsdatei für konfigurierbare Wiederholungslogik bei SqlClient
- Aktivieren der konfigurierbaren Wiederholungslogik
- Konfigurierbare Wiederholungslogik in SqlClient
- Microsoft ADO.NET für SQL Server