.net 超过RestSharp超时-最佳实现
我在RestSharp上有一些稳定的实现,可以查询HTTP WebAPI Web服务,超时时间为60秒。实际上,这个实现是在Windows服务上使用的,所以这个WS每天都会收到很多请求 问题是,有时我会遇到一个错误(大约每天15个),我不知道如何处理这个错误,这样所有的请求都可以得到答案。(实际上我正在考虑重试执行).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
任何想法都会有帮助。非常感谢。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)