1

こんにちは私はポーリーの再試行の一時的なエラー処理を実装したいのですが、beow コードを面白くしていますが、再試行が機能していません。どこが間違っているか教えてください。

 var retryPolicy = Policy
        .HandleResult<HttpResponseMessage>(r => r.StatusCode == HttpStatusCode.Unauthorized

                                           || r.StatusCode == HttpStatusCode.GatewayTimeout
                                           || r.StatusCode == HttpStatusCode.RequestTimeout
                                           || r.StatusCode == HttpStatusCode.ServiceUnavailable)
    .WaitAndRetry(3, i => TimeSpan.FromSeconds(2), (result, timeSpan, retryCount, context) =>
    {
        Console.WriteLine($"Request failed with {result.Result.StatusCode}. Waiting {timeSpan} before next retry. Retry attempt {retryCount}");
    });

    retryPolicy.Execute(() =>
   {
        response = FailedOperation();
       return response;

   });

     private static HttpResponseMessage FailedOperation()
    {
 Console.WriteLine("Exception !!!!!");

    throw new HttpResponseException(HttpStatusCode.GatewayTimeout);
    }
4

1 に答える 1