Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: .NET Framework
.NET
Standard
Konfigurowalna logika ponawiania umożliwia deweloperom i administratorom zarządzanie zachowaniem aplikacji w przypadku wystąpienia przejściowych błędów. Funkcja dodaje kontrolki podczas nawiązywania połączenia lub wykonywania polecenia. Kontrolki można zdefiniować za pomocą kodu lub pliku konfiguracji aplikacji. Przejściowe numery błędów i właściwości ponawiania prób można zdefiniować w celu kontrolowania zachowania ponawiania prób. Ponadto wyrażenia regularne mogą służyć do filtrowania określonych instrukcji SQL.
Składniki funkcji
Ta funkcja składa się z trzech głównych składników:
- Podstawowe interfejsy API: deweloperzy mogą używać tych interfejsów do implementowania własnej logiki ponawiania prób na obiektach SqlConnection i SqlCommand . Aby uzyskać więcej informacji, zobacz Konfigurowanie podstawowych interfejsów API logiki ponawiania w programie SqlClient.
- Wstępnie zdefiniowana konfigurowalna logika ponawiania: wbudowane metody logiki ponawiania przy użyciu podstawowych interfejsów API są dostępne z SqlConfigurableRetryFactory klasy . Aby uzyskać więcej informacji, zobacz Wewnętrzne dostawcy logiki ponawiania w programie SqlClient.
- Schemat pliku konfiguracji: aby określić domyślną logikę ponawiania prób dla SqlConnection i SqlCommand w aplikacji. Aby uzyskać więcej informacji, zobacz Configurable retry logic configuration file with SqlClient (Konfigurowanie pliku konfiguracji logiki ponawiania za pomocą programu SqlClient).
Szybki start
Aby użyć tej funkcji, wykonaj następujące kroki:
Zdefiniuj opcje logiki ponawiania przy użyciu polecenia SqlRetryLogicOption.
W tym przykładzie niektóre parametry ponawiania są ustawione, a pozostałe z nich będą używać wartości domyślnych.// 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) };Utwórz dostawcę logiki ponawiania przy użyciu SqlRetryLogicOption obiektu .
// Create a retry logic provider SqlRetryLogicBaseProvider provider = SqlConfigurableRetryFactory.CreateExponentialRetryProvider(options);SqlRetryLogicBaseProvider Przypisz wystąpienie do obiektu SqlConnection.RetryLogicProvider lub SqlCommand.RetryLogicProvider.
W tym przykładzie polecenie otwarcia połączenia ponowi próbę, jeśli wystąpi jeden z przejściowych błędów na SqlConfigurableRetryFactory liście wewnętrznej przez maksymalnie pięć razy.// 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();
Uwaga / Notatka
Te kroki są takie same w przypadku wykonywania polecenia, z wyjątkiem tego, że zamiast tego należy przypisać dostawcę ponawiania prób do SqlCommand.RetryLogicProvider właściwości przed wykonaniem polecenia.
Zobacz także
- Konfigurowalne podstawowe interfejsy API logiki ponawiania prób w programie SqlClient
- Wewnętrzni dostawcy logiki ponawiania prób w programie SqlClient
- Konfigurowalny plik konfiguracji logiki ponawiania za pomocą programu SqlClient
- Konfigurowalna logika ponawiania prób w programie SqlClient
- Microsoft ADO.NET dla programu SQL Server