question

VuyiswaMaseko-8882 avatar image
0 Votes"
VuyiswaMaseko-8882 asked AgaveJoe edited

System.OperationCanceledException: The operation was canceled.

Good Day All

i have the following code, that randomly throws the following error

System.OperationCanceledException: The operation was canceled.


// HttpClient is intended to be instantiated once per application, rather than per-use. See Remarks.
static readonly HttpClient httpClient = new HttpClient();

public async Task<List<USERS>> Get_All_Customers( )
{

              List<USERS> results = null;
              try
              {
                  USERS m_model = new USERS
                  {
                      USER_ID = 1,
                      CURRENT_DATETIME = '2021/07/01'
                  };
                  var httpClient = new HttpClient();
                    
                  httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                                     
                                     
                  var Json = JsonConvert.SerializeObject(m_model, new JsonSerializerSettings
                  {
                      ContractResolver = new DefaultContractResolver
                      {
                          IgnoreSerializableAttribute = false
                      }
                  });
                    
                    
                  HttpContent httpContent = new StringContent(Json, Encoding.UTF8, "application/json");
                  httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json; charset=utf-8");

var response = await httpClient.PostAsync(string.Format("https://www.myserver.com/api/MainCustomers_OnlineDates/Get_All_Customers"), httpContent);

                  if (response.StatusCode == System.Net.HttpStatusCode.OK)
                  {
                      var content = await response.Content.ReadAsStringAsync();
                      results = JsonConvert.DeserializeObject<List<USERS>>(content);
                  }
              }
              catch (Exception ex)
              {
                  await Task.Run(() => Crashes.TrackError(ex));
              }
                    
              return results;
          }


Thanks

dotnet-xamarinformsdotnet-aspnet-webapi
· 1
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

@VuyiswaMaseko-8882 When the API times out, the exception may be thrown. You can refer to HttpClient.Timeout Property.

0 Votes 0 ·

1 Answer

Bruce-SqlWork avatar image
0 Votes"
Bruce-SqlWork answered AgaveJoe edited

also why line 9 when you declared a static as preferred?

· 2
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

i have fixed that part and its declared as static outside the function and removed Task.Run as well, but the error still comes

0 Votes 0 ·
AgaveJoe avatar image AgaveJoe VuyiswaMaseko-8882 ·

Share the latest updates if you want a community code review. The System.OperationCanceledException: The operation was canceled error means the request was canceled. Perhaps due to a timeout calling the API endpoint.


0 Votes 0 ·