HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Timeout = 20000;
using (WebResponse response = request.GetResponse())
using (var stream = response.GetResponseStream())
using (var reader = new StreamReader(stream))
{
var result = reader.ReadToEnd();
// Do something with result
}
在上面的示例中,我定义了超时,如果碰巧达到超时,我怎么知道结果将为空?
我会收到任何类型的回复吗?
我怎样才能确保我超时了?
GetResponse()
会抛出一个WebException http://msdn.microsoft.com/en-us/library/system.net.webexception.aspx。测试起来很简单exactly但会发生什么 - 将超时设置为 1 毫秒,并尝试执行任何需要一段时间才能返回的内容。
事实上,文档 http://msdn.microsoft.com/en-us/library/system.net.webrequest.getresponse.aspx明确指出:
如果在返回资源之前超时期限到期,则会抛出 WebException。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)