C# 为什么我';我在HttpWebResponse.GetResponse方法的每四次调用中都会超时?
为什么每次调用HttpWebResponse.GetResponse方法都会超时?不管我怎么称呼它。我试着每30秒呼叫一次,2分钟-没有区别-第四次呼叫总是超时C# 为什么我';我在HttpWebResponse.GetResponse方法的每四次调用中都会超时?,c#,asp.net,httpwebresponse,C#,Asp.net,Httpwebresponse,为什么每次调用HttpWebResponse.GetResponse方法都会超时?不管我怎么称呼它。我试着每30秒呼叫一次,2分钟-没有区别-第四次呼叫总是超时 WebRequest request = WebRequest.Create(url); request.Timeout = 15000; HttpWebResponse response = null; try { response = (Htt
WebRequest request = WebRequest.Create(url);
request.Timeout = 15000;
HttpWebResponse response = null;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException e)
{
using (WebResponse resp = e.Response)
{
Console.WriteLine(((HttpWebResponse)resp).StatusCode + ((HttpWebResponse)resp).StatusDescription);
}
}
}
(i) WebException.Response不能保证为非null,所以您应该对此加以防范。(ii)所以你有一个回应。。。您应该获取其响应流并将其读到最后,然后处理它,然后处理响应本身(仅在上面的异常情况下执行此操作)。谢谢,添加response.dispose();在我阅读了响应之后,我完成了这个技巧。这就是
使用
语句的目的。另外,如果您有一个响应,那么在任何情况下都应该将响应流读到底。不管怎么说,数据都在向你的方向发展。