Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: .NET Framework
.NET .NET
Standard
Med konfigurerbar omprövningslogik kan utvecklare och administratörer hantera programbeteenden när tillfälliga fel inträffar. Funktionen lägger till kontroller under anslutning eller körning av ett kommando. Kontrollerna kan definieras via kod eller en programkonfigurationsfil. Tillfälliga felnummer och återförsöksegenskaper kan definieras för att styra återförsöksbeteendet. Dessutom kan reguljära uttryck användas för att filtrera specifika SQL-uttryck.
Funktionskomponenter
Den här funktionen består av tre huvudkomponenter:
- Kärn-API:er: Utvecklare kan använda dessa gränssnitt för att implementera sin egen logik för återförsök och SqlConnectionSqlCommand objekt. Mer information finns i Configurable retry logic core API:er i SqlClient.
- Fördefinierad konfigurerbar omprövningslogik: Inbyggda logikmetoder för återförsök med hjälp av kärn-API:erna är tillgängliga från SqlConfigurableRetryFactory klassen. Mer information finns i Interna logikproviders för återförsök i SqlClient.
- Konfigurationsfilschema: Ange standardlogik för återförsök för SqlConnection och SqlCommand i ett program. Mer information finns i Konfigurera logikkonfigurationsfilen för omprövning med SqlClient.
Snabbstart
Följ dessa steg om du vill använda den här funktionen:
Definiera logikalternativen för återförsök med hjälp av SqlRetryLogicOption.
I det här exemplet anges några av återförsöksparametrarna och resten av dem använder standardvärdena.// 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) };Skapa en logikprovider för återförsök med hjälp av objektet SqlRetryLogicOption .
// Create a retry logic provider SqlRetryLogicBaseProvider provider = SqlConfigurableRetryFactory.CreateExponentialRetryProvider(options);Tilldela instansen SqlRetryLogicBaseProviderSqlConnection.RetryLogicProvider till eller SqlCommand.RetryLogicProvider.
I det här exemplet försöker kommandot öppna anslutningen igen om det träffar ett av de tillfälliga felen i den SqlConfigurableRetryFactory interna listan i högst fem gånger.// 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();
Anmärkning
De här stegen är desamma för en kommandokörning, förutom att du i stället tilldelar återförsöksprovidern SqlCommand.RetryLogicProvider till egenskapen innan du kör kommandot.