C# Polly for handling error http responses












0















I am trying to implement within a constructor the Polly for handling HTTP error statuses, but I get an error saying: The non-generic method cannot be used with type arguments. I used the code from their website though. Here it is:



 public BaseApiManager()
{
Retry = Policy.HandleResult<HttpResponseMessage>(r => r.StatusCode == HttpStatusCode.InternalServerError)
.OrResult<HttpResponseMessage>(r => r.StatusCode == HttpStatusCode.BadGateway)
.WaitAndRetry(3, retryAttempt => TimeSpan.FromSeconds(5));
}


The error is on the second line, at the "OrResult". I also tried using it with ApiResponse, which is my generic class, but it does not work as well.
What am I doing wrong ? thank you.










share|improve this question























  • If I use bool, it does not let me use r.StatusCode

    – MariaAndrews
    Nov 14 '18 at 13:26











  • Looking on documentation: github.com/App-vNext/Polly your code seems ok. But maybe you have method named HttpResponseMessage?

    – Grzesiek Danowski
    Nov 14 '18 at 13:39











  • No, I use the default one. But it acts like it wants a bool instead.

    – MariaAndrews
    Nov 14 '18 at 13:48











  • I also have above the declaration : private RetryPolicy Retry { get; }

    – MariaAndrews
    Nov 14 '18 at 13:49











  • There was an error in the documentation on the Polly website. It has now been corrected.

    – mountain traveller
    Nov 14 '18 at 17:53
















0















I am trying to implement within a constructor the Polly for handling HTTP error statuses, but I get an error saying: The non-generic method cannot be used with type arguments. I used the code from their website though. Here it is:



 public BaseApiManager()
{
Retry = Policy.HandleResult<HttpResponseMessage>(r => r.StatusCode == HttpStatusCode.InternalServerError)
.OrResult<HttpResponseMessage>(r => r.StatusCode == HttpStatusCode.BadGateway)
.WaitAndRetry(3, retryAttempt => TimeSpan.FromSeconds(5));
}


The error is on the second line, at the "OrResult". I also tried using it with ApiResponse, which is my generic class, but it does not work as well.
What am I doing wrong ? thank you.










share|improve this question























  • If I use bool, it does not let me use r.StatusCode

    – MariaAndrews
    Nov 14 '18 at 13:26











  • Looking on documentation: github.com/App-vNext/Polly your code seems ok. But maybe you have method named HttpResponseMessage?

    – Grzesiek Danowski
    Nov 14 '18 at 13:39











  • No, I use the default one. But it acts like it wants a bool instead.

    – MariaAndrews
    Nov 14 '18 at 13:48











  • I also have above the declaration : private RetryPolicy Retry { get; }

    – MariaAndrews
    Nov 14 '18 at 13:49











  • There was an error in the documentation on the Polly website. It has now been corrected.

    – mountain traveller
    Nov 14 '18 at 17:53














0












0








0








I am trying to implement within a constructor the Polly for handling HTTP error statuses, but I get an error saying: The non-generic method cannot be used with type arguments. I used the code from their website though. Here it is:



 public BaseApiManager()
{
Retry = Policy.HandleResult<HttpResponseMessage>(r => r.StatusCode == HttpStatusCode.InternalServerError)
.OrResult<HttpResponseMessage>(r => r.StatusCode == HttpStatusCode.BadGateway)
.WaitAndRetry(3, retryAttempt => TimeSpan.FromSeconds(5));
}


The error is on the second line, at the "OrResult". I also tried using it with ApiResponse, which is my generic class, but it does not work as well.
What am I doing wrong ? thank you.










share|improve this question














I am trying to implement within a constructor the Polly for handling HTTP error statuses, but I get an error saying: The non-generic method cannot be used with type arguments. I used the code from their website though. Here it is:



 public BaseApiManager()
{
Retry = Policy.HandleResult<HttpResponseMessage>(r => r.StatusCode == HttpStatusCode.InternalServerError)
.OrResult<HttpResponseMessage>(r => r.StatusCode == HttpStatusCode.BadGateway)
.WaitAndRetry(3, retryAttempt => TimeSpan.FromSeconds(5));
}


The error is on the second line, at the "OrResult". I also tried using it with ApiResponse, which is my generic class, but it does not work as well.
What am I doing wrong ? thank you.







c# http polly






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 14 '18 at 12:18









MariaAndrewsMariaAndrews

6




6













  • If I use bool, it does not let me use r.StatusCode

    – MariaAndrews
    Nov 14 '18 at 13:26











  • Looking on documentation: github.com/App-vNext/Polly your code seems ok. But maybe you have method named HttpResponseMessage?

    – Grzesiek Danowski
    Nov 14 '18 at 13:39











  • No, I use the default one. But it acts like it wants a bool instead.

    – MariaAndrews
    Nov 14 '18 at 13:48











  • I also have above the declaration : private RetryPolicy Retry { get; }

    – MariaAndrews
    Nov 14 '18 at 13:49











  • There was an error in the documentation on the Polly website. It has now been corrected.

    – mountain traveller
    Nov 14 '18 at 17:53



















  • If I use bool, it does not let me use r.StatusCode

    – MariaAndrews
    Nov 14 '18 at 13:26











  • Looking on documentation: github.com/App-vNext/Polly your code seems ok. But maybe you have method named HttpResponseMessage?

    – Grzesiek Danowski
    Nov 14 '18 at 13:39











  • No, I use the default one. But it acts like it wants a bool instead.

    – MariaAndrews
    Nov 14 '18 at 13:48











  • I also have above the declaration : private RetryPolicy Retry { get; }

    – MariaAndrews
    Nov 14 '18 at 13:49











  • There was an error in the documentation on the Polly website. It has now been corrected.

    – mountain traveller
    Nov 14 '18 at 17:53

















If I use bool, it does not let me use r.StatusCode

– MariaAndrews
Nov 14 '18 at 13:26





If I use bool, it does not let me use r.StatusCode

– MariaAndrews
Nov 14 '18 at 13:26













Looking on documentation: github.com/App-vNext/Polly your code seems ok. But maybe you have method named HttpResponseMessage?

– Grzesiek Danowski
Nov 14 '18 at 13:39





Looking on documentation: github.com/App-vNext/Polly your code seems ok. But maybe you have method named HttpResponseMessage?

– Grzesiek Danowski
Nov 14 '18 at 13:39













No, I use the default one. But it acts like it wants a bool instead.

– MariaAndrews
Nov 14 '18 at 13:48





No, I use the default one. But it acts like it wants a bool instead.

– MariaAndrews
Nov 14 '18 at 13:48













I also have above the declaration : private RetryPolicy Retry { get; }

– MariaAndrews
Nov 14 '18 at 13:49





I also have above the declaration : private RetryPolicy Retry { get; }

– MariaAndrews
Nov 14 '18 at 13:49













There was an error in the documentation on the Polly website. It has now been corrected.

– mountain traveller
Nov 14 '18 at 17:53





There was an error in the documentation on the Polly website. It has now been corrected.

– mountain traveller
Nov 14 '18 at 17:53












2 Answers
2






active

oldest

votes


















0














Correct your Retry definition specifing type:



private RetryPolicy<HttpResponseMessage> Retry { get; }





share|improve this answer































    0














    It should work as follows:



    Policy.HandleResult<HttpResponseMessage>(r => r.StatusCode == HttpStatusCode.InternalServerError)
    .OrResult(r => r.StatusCode == HttpStatusCode.BadGateway)
    .WaitAndRetry(3, retryAttempt => TimeSpan.FromSeconds(5));


    The .OrResult(...) does not need generic type arguments, because the .Handle<HttpResponseMessage>(...) clause has already bound the policy to handle results of type HttpResponseMessage.






    share|improve this answer























      Your Answer






      StackExchange.ifUsing("editor", function () {
      StackExchange.using("externalEditor", function () {
      StackExchange.using("snippets", function () {
      StackExchange.snippets.init();
      });
      });
      }, "code-snippets");

      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "1"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53300086%2fc-sharp-polly-for-handling-error-http-responses%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      0














      Correct your Retry definition specifing type:



      private RetryPolicy<HttpResponseMessage> Retry { get; }





      share|improve this answer




























        0














        Correct your Retry definition specifing type:



        private RetryPolicy<HttpResponseMessage> Retry { get; }





        share|improve this answer


























          0












          0








          0







          Correct your Retry definition specifing type:



          private RetryPolicy<HttpResponseMessage> Retry { get; }





          share|improve this answer













          Correct your Retry definition specifing type:



          private RetryPolicy<HttpResponseMessage> Retry { get; }






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 14 '18 at 14:16









          Grzesiek DanowskiGrzesiek Danowski

          1926




          1926

























              0














              It should work as follows:



              Policy.HandleResult<HttpResponseMessage>(r => r.StatusCode == HttpStatusCode.InternalServerError)
              .OrResult(r => r.StatusCode == HttpStatusCode.BadGateway)
              .WaitAndRetry(3, retryAttempt => TimeSpan.FromSeconds(5));


              The .OrResult(...) does not need generic type arguments, because the .Handle<HttpResponseMessage>(...) clause has already bound the policy to handle results of type HttpResponseMessage.






              share|improve this answer




























                0














                It should work as follows:



                Policy.HandleResult<HttpResponseMessage>(r => r.StatusCode == HttpStatusCode.InternalServerError)
                .OrResult(r => r.StatusCode == HttpStatusCode.BadGateway)
                .WaitAndRetry(3, retryAttempt => TimeSpan.FromSeconds(5));


                The .OrResult(...) does not need generic type arguments, because the .Handle<HttpResponseMessage>(...) clause has already bound the policy to handle results of type HttpResponseMessage.






                share|improve this answer


























                  0












                  0








                  0







                  It should work as follows:



                  Policy.HandleResult<HttpResponseMessage>(r => r.StatusCode == HttpStatusCode.InternalServerError)
                  .OrResult(r => r.StatusCode == HttpStatusCode.BadGateway)
                  .WaitAndRetry(3, retryAttempt => TimeSpan.FromSeconds(5));


                  The .OrResult(...) does not need generic type arguments, because the .Handle<HttpResponseMessage>(...) clause has already bound the policy to handle results of type HttpResponseMessage.






                  share|improve this answer













                  It should work as follows:



                  Policy.HandleResult<HttpResponseMessage>(r => r.StatusCode == HttpStatusCode.InternalServerError)
                  .OrResult(r => r.StatusCode == HttpStatusCode.BadGateway)
                  .WaitAndRetry(3, retryAttempt => TimeSpan.FromSeconds(5));


                  The .OrResult(...) does not need generic type arguments, because the .Handle<HttpResponseMessage>(...) clause has already bound the policy to handle results of type HttpResponseMessage.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 14 '18 at 17:43









                  mountain travellermountain traveller

                  2,596819




                  2,596819






























                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53300086%2fc-sharp-polly-for-handling-error-http-responses%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      List item for chat from Array inside array React Native

                      Thiostrepton

                      Caerphilly