I want to interrogate one sensor that returns a JSON Rest Api response. I make Api call every 40 milliseconds but it gave me this error :
in System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification) in System.Threading.Tasks.Task1.get_Result()
I have timer where interval = 40. And this is the code how I call tha Api :
 private void Timer(object sender, EventArgs e)
        {
            tmrPollingSick.Stop();
            string strJson = "";
           
            HttpClient client = new HttpClient();
            string baseUrl = "http://9999.99999.99999.8";
            client.BaseAddress = new Uri(baseUrl);
            var contentType = new MediaTypeWithQualityHeaderValue("application/json");
            client.DefaultRequestHeaders.Accept.Add(contentType);
            string strAltezza = string.Empty;
            try
            {
                strJson = "Here I set HEADERS... DATA ect " + Convert.ToChar(34) +
                        "header" + Convert.ToChar(34) + ": {............" 
                var contentData = new StringContent(strJson, System.Text.Encoding.UTF8, "application/json");
                using (var responseMessage = client.PostAsync("/bla/bla/bla", contentData).Result)
                {
                    if (responseMessage.IsSuccessStatusCode)
                    {
                        string strContext = responseMessage.Content.ReadAsStringAsync().Result;
                        Object dec = JsonConvert.DeserializeObject(strContext);     // deserializing Json string (it will deserialize Json string)
                        JObject obj = JObject.Parse(strContext);
                        //Process Data In
                        JObject obj1 = JObject.Parse(obj["bla"].ToString());
                        JObject obj2 = JObject.Parse(obj1["processDataIn"].ToString());
                        strAltezza = obj2["1"].ToString();
                        textBox1.Text = strAltezza;
                    }
                }
            }
        catch(WebException ex1)
        {
            MessageBox.Show("web: "+ex1.StackTrace.ToString() + " - " + ex1.Message);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.StackTrace.ToString() + " - " + ex.Message);
        }
        tmrPollingSick.Start();
    }
Everything works fine but after a while it gives me that error. I allready read this (How to implement real time data for a web page and this) but I haven't tried them yet. Any suggestions how to fix this? Is there another way how to get the result in real-time without crashing?
 
     
    