我看到帖子从https://stackoverflow.com/questions/6262547/webclient-timeout-error,它表示默认的超时时间是100秒。但我看到从How to change the timeout on a .NET WebClient object的评论说WebClient默认超时?
默认超时是100秒。虽然它似乎跑了30秒。 - - 卡特12年12月13日16:39
在我的程序超时总是约20秒,有人知道原因吗?
我看到帖子从https://stackoverflow.com/questions/6262547/webclient-timeout-error,它表示默认的超时时间是100秒。但我看到从How to change the timeout on a .NET WebClient object的评论说WebClient默认超时?
默认超时是100秒。虽然它似乎跑了30秒。 - - 卡特12年12月13日16:39
在我的程序超时总是约20秒,有人知道原因吗?
我把最小的情况放在一起来测试WebClient类的默认超时。
我发布了一个简单的网站给我的本地PC,它在收到请求后等待300秒(足以让WebClient超时),然后返回响应。
我写了一个简单的程序,使用Web客户端,使该网站的请求,并报告发生了什么:
void Main()
{
Console.WriteLine("Starting request at " + DateTime.Now);
WebClient client = new WebClient();
try
{
string response = client.DownloadString("http://slowsite.local/");
Console.WriteLine("Response returned at " + DateTime.Now);
}
catch (Exception ex)
{
Console.WriteLine(ex.GetType() + " " + ex.Message + " at " + DateTime.Now);
}
}
Web客户端确实超时了100秒后。该程序生成此输出:
Starting request at 8/1/2017 9:31:11 AM
System.Net.WebException The request was aborted: The operation has timed out. at 8/1/2017 9:32:51 AM
客户端测试程序针对.NET Framework 4.6。
嗨,Jon,测试很好,但有人遇到同样的问题,所以我不能选择你的答案作为真正的答案 – MichaelMao
你能发布最少的代码,所以我们可以看到你的程序与我的代码有什么不同吗?如果您可以发布您获得的异常的详细信息以及您的程序使用的.NET版本,也可能会有所帮助。 –
给我几天的LOL – MichaelMao
HttpWebRequest超时为100秒,会话超时为20分钟。 – sansknwoledge
对不起@sansknwoledge,这没有帮助。 – MichaelMao
是的,那是唧唧歪歪的评论,你有没有检出msdn https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.timeout(v=vs.110).aspx,特别是最后段, – sansknwoledge