连续vb.net get请求挂起超时

问题描述 投票:0回答:0

我正在制作一个 vb.net 应用程序,它每 35 秒发出一次 get 请求,第一个和第二个请求正常发生并且用时不到 1 秒,但是从第三个请求开始没有返回并且无论设置的超时如何都会达到超时.

每35秒调用一次的sub如下:



Sub Eventos(ByVal token)
        Dim request As HttpWebRequest
        Dim response As HttpWebResponse
        Dim responseString As String
        Dim jsonObject As JObject
        Dim EventosArray As JArray


        ServicePointManager.ServerCertificateValidationCallback = Function() True
        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12


        request = CType(WebRequest.Create("https://merchant-api.ifood.com.br/order/v1.0/events:polling"), HttpWebRequest)
        request.Headers.Add("Authorization", "Bearer " & token)
        request.Method = "GET"
        request.ContentType = "application/json"
        request.Timeout = 60000

        response = CType(request.GetResponse(), HttpWebResponse)
        responseString = New StreamReader(response.GetResponseStream()).ReadToEnd()

        If (responseString <> "") Then
            jsonObject = JObject.Parse("{events:" & responseString & "}")

            EventosArray = jsonObject("events")

            For Each evento As JObject In EventosArray
                If (evento("code") = "PLC") Then
                    Module1.orderId = evento("orderId")
                    Module1.ApagaEventos(evento.ToString.Replace(vbCr, "").Replace(vbLf, ""), token)

                Else
                    Module1.ApagaEventos(evento.ToString.Replace(vbCr, "").Replace(vbLf, ""), token)

                End If

            Next

            Console.WriteLine(jsonObject)

        End If


    End Sub

我已经用 1 分钟到 10 分钟之间的超时测试了它,没有任何变化。我已经检查了服务器请求限制,但是每分钟超过 5 个,所以这应该不是问题。 我在使用 Windows 7 和 10 的不同设备上对其进行了测试,所有设备的行为都相同。 我想知道为什么会这样以及如何解决这个问题。

vb.net post request
© www.soinside.com 2019 - 2024. All rights reserved.