|
|
Diposting pada 28/05/2019 23.54.53
|
|
|
|

Posting ini terakhir diedit oleh Kongcida pada 2019-5-29 11:16
kata pengantar Dalam sebuah proyek, akan ada masalah dengan operasi proyek karena alasan yang tidak terkendali. Misalnya, kegagalan server, kerusakan layanan, pemadaman jaringan, dll. Menemukan beberapa kesalahan yang dapat dicoba ulang, kita dapat menggunakan Polly —— . Pustaka Penanganan Kesalahan Elastis dan Transien .NET. Alamat situs web resmi proyek (Login hyperlink terlihat.)。 Hari ini artikel ini akan mendokumentasikan strategi percobaan ulang Polly yang buruk.
Lingkungan & Alat
>VS 2017
>Sistem Windows 10
Teks
1: Buat aplikasi konsol baru.
2: Kutip Polly. Tersedia untuk diunduh dalam paket NuGet
3: Tempel kode
4: F6 menghasilkan. Kemudian temukan file .exe yang dihasilkan di bawah folder debug – > klik dua kali untuk menjalankan.
Anda dapat melihat pesan output: Dicoba ulang tiga kali.
Saat F5 sedang men-debug, Anda juga dapat melihat bahwa metode ini telah dilakukan tiga kali.
Strategi percobaan ulang Polly dijelaskan secara rinci
1: Jenis pengecualian
Dalam kode ini, :handle berisi jenis pengecualian yang akan dicoba ulang. Artinya, ketika kode yang dieksekusi menghasilkan pengecualian tertentu, fungsi coba lagi dijalankan. Jika tidak, tidak ada percobaan ulang yang akan dilakukan. Karena beberapa pengecualian tidak memerlukan percobaan lagi.
Tentu saja, kita dapat mengisi sejumlah jenis pengecualian tertentu di sini untuk dicoba kembali.
DivideByZeroException di sini mewakili pengecualian yang mencoba membagi dengan nol. SqlException menunjukkan pengecualian yang dimunculkan saat Sql Server mengembalikan kesalahan atau peringatan. Misalnya, kegagalan koneksi database, kesalahan eksekusi SQL, dll. SmtpException menunjukkan pengecualian yang diajukan oleh layanan email. Misalnya, pengiriman gagal, koneksi jaringan gagal, dan informasi akun email tidak normal.
Untuk jenis pengecualian tertentu, silakan lihat dokumentasi resmi Microsoft:
2: Jenis coba lagi
1) Jenis percobaan ulang pertama adalah jumlah percobaan ulang yang diberikan secara langsung. Kode berikut hanya dicoba ulang 3 kali.
Kita dapat memanggil tindakan relevan yang dilakukan pada setiap percobaan lagi saat mencoba lagi. Kode berikut adalah komisi lain nanti. Saat melakukan percobaan ulang, jumlah percobaan ulang dan alasan pengecualian dicetak.
Kita juga dapat terus mencoba kode sampai berhasil.
2) Jenis percobaan ulang kedua adalah mencoba lagi secara berkala. Kode berikut berarti mencoba lagi setiap 2 detik, 7 detik, atau 10 detik. Coba lagi hingga 10 detik. Jika eksekusi tidak berhasil, akhiri percobaan lagi.
Kita juga dapat mencoba lagi secara berkala sampai percobaan ulang berhasil. Ini membutuhkan perhitungan fungsi.
Kode di atas mengacu pada percobaan ulang daya tidak langsung 2. Misalnya, jika eksekusi gagal, pertama kali akan dicoba lagi dengan interval 2 detik, kedua kalinya akan dicoba lagi pada interval 4 detik, dan ketiga kalinya akan dicoba lagi pada interval 8 detik......... Dan seterusnya. Sampai eksekusi berhasil.
Epilog
Catatan: Jenis pengecualian dalam Pegangan kode di atas harus diisi sesuai dengan situasi aktual dalam proyek Anda yang sebenarnya. Tidak semua pengecualian memerlukan percobaan ulang.
Jenis pengecualian adalah kelas dasar untuk semua pengecualian. Yang terbaik adalah tidak mengisi ini di pegangan, jika tidak, itu akan memiliki konsekuensi yang sangat serius.
|
Mantan:. Integrasi bersih Nilai pengembalian PayPal IPN selalu TIDAK VALIDDepan:C# Penggunaan kata kunci hasil
|