最近,在HttWebRequest验证项目中的timeout和ReadWriteTimeout功能时遇到了一个严重的问题。
有两个部分代码,第一个抛出
未处理的异常:System.Net.WebException:操作已超时。在System.Net.HttpWebRequest.GetResponse()
HttpWebRequest request = (HttpWebRequest) WebRequest.Create("https://www.stackoverflow.com");
request.Timeout = 5000;
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
HttpWebRequest request2 = (HttpWebRequest) WebRequest.Create("https://www.stackoverflow.com");
request2.Timeout = 1;
HttpWebResponse response2 = (HttpWebResponse) request2.GetResponse();
Run Code Online (Sandbox Code Playgroud)
然后下一节代码抛出
未处理的异常:System.OperationCanceledException:操作已取消。在System.Net.HttpWebRequest.GetResponse()
HttpWebRequest request = (HttpWebRequest) WebRequest.Create("https://www.stackoverflow.com");
request.Timeout = 5000;
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
request = (HttpWebRequest) WebRequest.Create("https://www.stackoverflow.com");
request.Timeout = 1;
response = (HttpWebResponse) request.GetResponse();
Run Code Online (Sandbox Code Playgroud)
我不知道为什么会抛出不同的异常?
我猜可能的原因之一是keep-alive默认情况下是ture吗?但是我转过头了。
| 归档时间: |
|
| 查看次数: |
240 次 |
| 最近记录: |