Selagi operasi gagal, cuba semula logik akan dilaksanakan. Laksanakan percubaan semula Hanya logik dokumen dalam konteks penuh operasi yang gagal.
Adalah penting untuk log semua kegagalan sambungan yang mengakibatkan percubaan semula supaya asas Boleh mengenal pasti masalah dengan aplikasi, perkhidmatan atau sumber.
class Program{ public static void Main(){ HttpClient client = new HttpClient(); dynamic res = null; var retryAttempts = 3; var delay = TimeSpan.FromSeconds(2); RetryHelper.Retry(retryAttempts, delay, () =>{ res = client.GetAsync("https://example22.com/api/cycles/1"); }); Console.ReadLine(); } } public static class RetryHelper{ public static void Retry(int times, TimeSpan delay, Action operation){ var attempts = 0; do{ try{ attempts++; System.Console.WriteLine(attempts); operation(); break; } catch (Exception ex){ if (attempts == times) throw; Task.Delay(delay).Wait(); } } while (true); } }
Atas ialah kandungan terperinci Bagaimana untuk menulis logik cuba semula dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!