Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: .NET Framework
.NET
.NET Standard
Logika coba lagi yang dapat dikonfigurasi memungkinkan pengembang dan administrator mengelola perilaku aplikasi saat kesalahan sementara terjadi. Fitur ini menambahkan kontrol selama koneksi atau eksekusi perintah. Kontrol dapat didefinisikan melalui kode atau file konfigurasi aplikasi. Nomor kesalahan sementara dan properti coba lagi dapat didefinisikan untuk mengontrol perilaku coba lagi. Selain itu, ekspresi reguler dapat digunakan untuk memfilter pernyataan SQL tertentu.
Komponen fitur
Fitur ini terdiri dari tiga komponen utama:
- API inti: Pengembang dapat menggunakan antarmuka ini untuk mengimplementasikan logika SqlConnection coba lagi dan SqlCommand objek mereka sendiri. Untuk informasi selengkapnya, lihat API inti logika coba lagi yang dapat dikonfigurasi di SqlClient.
- Logika coba lagi yang telah ditentukan sebelumnya: Metode logika coba lagi bawaan menggunakan API inti dapat diakses dari SqlConfigurableRetryFactory kelas . Untuk informasi selengkapnya, lihat Penyedia logika percobaan kembali internal di SqlClient.
- Skema file konfigurasi: Untuk menentukan logika coba lagi default untuk SqlConnection dan SqlCommand dalam aplikasi. Untuk informasi selengkapnya, lihat File konfigurasi logika coba lagi yang dapat dikonfigurasi dengan SqlClient.
Mulai Cepat
Untuk menggunakan fitur ini, ikuti langkah-langkah berikut:
Tentukan opsi logika coba lagi menggunakan SqlRetryLogicOption.
Dalam sampel ini, beberapa parameter coba lagi diatur dan sisanya akan menggunakan nilai default.// 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) };Buat penyedia logika coba lagi menggunakan objek Anda SqlRetryLogicOption .
// Create a retry logic provider SqlRetryLogicBaseProvider provider = SqlConfigurableRetryFactory.CreateExponentialRetryProvider(options);Tetapkan SqlRetryLogicBaseProvider instans ke SqlConnection.RetryLogicProvider atau SqlCommand.RetryLogicProvider.
Dalam sampel ini, perintah buka koneksi akan mencoba kembali jika mencapai salah satu kesalahan sementara dalam SqlConfigurableRetryFactory daftar internal selama maksimal lima kali.// 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();
Catatan
Langkah-langkah ini sama untuk eksekusi perintah, kecuali Anda akan menetapkan penyedia coba lagi ke SqlCommand.RetryLogicProvider properti sebelum menjalankan perintah.