我们正在此处向网址发送JsonConvert.SerializeObject(lstobject);
。 lstobject
是发送到url.error
的大型列表,也会在3分钟后返回,以便记录错误如何让webrequest等待5分钟。
var httpWebRequest = (HttpWebRequest)WebRequest
.Create(ConfigurationManager.AppSettings["JsonPayloadPostUrl"]
.ToString());
httpWebRequest.Timeout = 1000000;
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
streamWriter.Write(jsonPayload);
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var responseText = streamReader.ReadToEnd();
}
Ee使用了httpWebRequest.Timeout = 1000000;
,但服务器无法在5分钟内发回请求。如何请求等待服务器响应?
答案 0 :(得分:1)
我可能会遗漏一些阅读您问题的内容,但HTTP 500服务器错误意味着服务器已提供响应,说它遇到了一些内部问题。因此,您无法通过在请求端设置更大的超时来阻止它。
关注https://www.w3.org/Protocols/HTTP/HTRESP.html
内部错误500
服务器遇到阻止它的意外情况 满足要求。
我会说你的请求没有正确构建,或者服务器有一些应用程序方面的问题。
回到超时设置方式,我觉得它看起来很合适。请注意,这一次可能会考虑DNS名称解析等主题,这反过来可能需要比首先看起来更多的时间。在你的情况下,这不应该是一个问题,看看你想要设置的值。