Maison  >  Article  >  développement back-end  >  Comment écrire une logique de nouvelle tentative en C# ?

Comment écrire une logique de nouvelle tentative en C# ?

王林
王林avant
2023-09-24 12:45:031366parcourir

Comment écrire une logique de nouvelle tentative en C# ?

Tant que l'opération échoue, une logique de nouvelle tentative sera mise en œuvre. Implémenter des tentatives Consigne uniquement la logique dans le contexte complet de l’opération ayant échoué.

Il est important de consigner tous les échecs de connexion qui entraînent des tentatives afin que le sous-jacent Peut identifier les problèmes avec les applications, les services ou les ressources.

Exemple

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);
   }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer