Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 超过RestSharp超时-最佳实现_.net_Vb.net_Restsharp - Fatal编程技术网

.net 超过RestSharp超时-最佳实现

.net 超过RestSharp超时-最佳实现,.net,vb.net,restsharp,.net,Vb.net,Restsharp,我在RestSharp上有一些稳定的实现,可以查询HTTP WebAPI Web服务,超时时间为60秒。实际上,这个实现是在Windows服务上使用的,所以这个WS每天都会收到很多请求 问题是,有时我会遇到一个错误(大约每天15个),我不知道如何处理这个错误,这样所有的请求都可以得到答案。(实际上我正在考虑重试执行) 任何想法都会有帮助。非常感谢。Maxlength显然缺失了 Public Sub UpdateQuery(ByVal query As Request) Dim

我在RestSharp上有一些稳定的实现,可以查询HTTP WebAPI Web服务,超时时间为60秒。实际上,这个实现是在Windows服务上使用的,所以这个WS每天都会收到很多请求

问题是,有时我会遇到一个错误(大约每天15个),我不知道如何处理这个错误,这样所有的请求都可以得到答案。(实际上我正在考虑重试执行)


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

Maxlength显然缺失了

 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
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)