HttpClient response not updating

I am using HttpClient to communicate with a web service to send / receive (response in JSON format). But I am facing a problem while retrieving data. I call through the web service every 5 minutes to update the content on my Windows phone using HttpClient, but the answer will be repeated again and again. To get a new answer, I need to exit the application again and call. Does HttpClient need some process of updating or cleaning data? Do I need to implement some other approach in order to get a new updated result every time? Please suggest. Below is my implementation

public async Task<string> GetMyData(string urlToCall)
    {
        try
        {
            using (HttpClient httpClient = new HttpClient())
            {
                httpClient.Timeout = TimeSpan.FromMilliseconds(double.Parse(30000));
                HttpRequestMessage request = new HttpRequestMessage(System.Net.Http.HttpMethod.Get, urlToCall);
                var response = await httpClient.SendAsync(request);

                if (response.StatusCode == HttpStatusCode.OK)
                {
                    var responseString = await response.Content.ReadAsStringAsync();
                    return responseString;
                }
                else
                {
                    return string.Empty;
                }                    
            }
        }
        catch (Exception ex)
        {
            System.Diagnostics.Debug.WriteLine("Exception => RestfulWebService =>GetMyData: " + ex.Message);
            return string.Empty;
        }
    }
+4
source share
3

Windows ( Windows Store) .

, SendAsync ( GetAsync) , , , . .

, "IfModifiedSince" datetimeoffset. .

      HttpRequestMessage request = new HttpRequestMessage(System.Net.Http.HttpMethod.Get, urlToCall);
      request.Headers.IfModifiedSince = new DateTimeOffset(DateTime.Now);
      var response = await httpClient.SendAsync(request);

, , .

, .

+7

request.Headers.Add("If-Modified-Since", DateTime.Now.ToString());

.

+1

DateTime d = DateTime.Now.AddDays (-1); string date = d.ToUniversalTime (). ToString ("r"); client.DefaultRequestHeaders.Add ("If-Modified-Since", date);

0
source

Source: https://habr.com/ru/post/1547546/


All Articles