Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: .NET Framework
.NET
Standard
Met configureerbare logica voor opnieuw proberen kunnen ontwikkelaars en beheerders toepassingsgedrag beheren wanneer tijdelijke fouten optreden. Met deze functie worden besturingselementen toegevoegd tijdens de verbinding of uitvoering van een opdracht. De besturingselementen kunnen worden gedefinieerd via code of een toepassingsconfiguratiebestand. Tijdelijke foutnummers en eigenschappen voor opnieuw proberen kunnen worden gedefinieerd om het gedrag van nieuwe pogingen te bepalen. Daarnaast kunnen reguliere expressies worden gebruikt om specifieke SQL-instructies te filteren.
Onderdelen van onderdelen
Deze functie bestaat uit drie hoofdonderdelen:
- Kern-API's: ontwikkelaars kunnen deze interfaces gebruiken om hun eigen logica voor opnieuw proberen op SqlConnection en SqlCommand objecten te implementeren. Zie Configureerbare logische kern-API's voor opnieuw proberen in SqlClient voor meer informatie.
- Vooraf gedefinieerde configureerbare logica voor opnieuw proberen: ingebouwde logica voor opnieuw proberen met behulp van de kern-API's zijn toegankelijk vanuit de SqlConfigurableRetryFactory klasse. Zie Interne logische providers voor opnieuw proberen in SqlClient voor meer informatie.
- Configuratiebestandsschema: als u de standaardlogica voor opnieuw proberen voor SqlConnection en SqlCommand in een toepassing wilt opgeven. Zie Configureerbaar configuratiebestand voor opnieuw proberen met SqlClient voor meer informatie.
Snel aan de slag
Volg deze stappen om deze functie te gebruiken:
Definieer de logicaopties voor opnieuw proberen met behulp van SqlRetryLogicOption.
In dit voorbeeld worden enkele van de parameters voor opnieuw proberen ingesteld en worden de overige parameters gebruikt voor de standaardwaarden.// 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) };Maak een logische provider voor opnieuw proberen met behulp van uw SqlRetryLogicOption object.
// Create a retry logic provider SqlRetryLogicBaseProvider provider = SqlConfigurableRetryFactory.CreateExponentialRetryProvider(options);Wijs het SqlRetryLogicBaseProvider exemplaar toe aan de SqlConnection.RetryLogicProvider of SqlCommand.RetryLogicProvider.
In dit voorbeeld wordt de opdracht Voor het openen van de verbinding opnieuw geprobeerd als er een van de tijdelijke fouten in de SqlConfigurableRetryFactory interne lijst voor een maximum van vijf keer optreedt.// 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();
Opmerking
Deze stappen zijn hetzelfde voor een opdrachtuitvoering, behalve dat u in plaats daarvan de provider voor opnieuw proberen aan de SqlCommand.RetryLogicProvider eigenschap toewijst voordat u de opdracht uitvoert.
Zie ook
- Configureerbare logische kern-API's voor opnieuw proberen in SqlClient
- Interne logische providers voor opnieuw proberen in SqlClient
- Configureerbaar configuratiebestand voor logica voor opnieuw proberen met SqlClient
- Configureerbare logica voor opnieuw proberen in SqlClient
- Microsoft ADO.NET voor SQL Server