超过 RestSharp 超时 - 最佳实施

RestSharp Timeout exceeded - best implementation

我在 RestSharp 上有一些稳定的实现来查询超时为 60 秒的 HTTP WebAPI WebService。实际上,此实现用于 Windows 服务,因此此 WS 每天接收大量请求。

问题是有时我会收到错误消息(大约每天 15 次)并且不知道如何处理此错误以便所有请求都能得到答复。 (实际上我正在考虑重试执行)。

 Public Sub UpdateQuery(ByVal query As Request)
        Dim client As New RestClient(ConfigurationManager.AppSettings("SERVICE_URL") & query.Query)
        Dim request = New RestRequest(ConfigurationManager.AppSettings("SERVICE_URL") & query.Query, Method.PATCH)
        Dim response As New RestResponse
        request.Timeout = 1000 * ConfigurationManager.AppSettings("RequestTimeOut")
        request.AddParameter("application/json", query.Body, ParameterType.RequestBody)
        response = client.Execute(request)

        If response.ErrorException Is Nothing Then
            If response.StatusCode = HttpStatusCode.NoContent Then
                query.StatusCode = response.StatusCode
            Else
                query.StatusCode = response.StatusCode
                query.ErrorDescr = JObject.Parse(response.Content).SelectToken("error.message.value")
            End If
        Else
            response = client.Execute(request)                 'Retry¿?¿?
            If response.ErrorException Is Nothing Then
                query.StatusCode = response.StatusCode
                If response.StatusCode <> HttpStatusCode.NoContent Then
                    query.ErrorDescr = JObject.Parse(response.Content).SelectToken("error.message.value")
                End If
            Else
                Throw New Exception("UpdateQuery error:, response.ErrorException)
            End If    
        End If    
    End Sub

收到的异常是这个(在 Google 上翻译)-

System.Net.WebException : the waiting time of the operation was exceeded
   in System.Net.HttpWebRequest.GetResponse ( )
   in RestSharp.Http.GetRawResponse ( HttpWebRequest request)
   in RestSharp.Http.GetResponse ( HttpWebRequest request)

任何想法都会有所帮助。非常感谢。

显然缺少 Maxlength。