在.NET Web请求超时

编程入门 行业动态 更新时间:2024-10-24 12:27:15
本文介绍了在.NET Web请求超时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我想使一个Web服务请求调用一个第三方网站,谁的服务器是有点不可靠的。有没有一种方法可以让我在一个请求到该网站设置超时?事情是这样的伪code:

尝试// 1分钟 {     //使Web请求在这里     使用(Web客户端的客户端新的Web客户端())//...etc。 } 抓住 { }

解决方案

您可以使用的超时属性:

VAR请求=(HttpWebRequest的)WebRequest.Create(www.google); request.Timeout = 1000; //超时后1000毫秒 使用(VAR流= request.GetResponse()。GetResponseStream()) 使用(VAR读卡器=新的StreamReader(流)) {     Console.WriteLine(reader.ReadToEnd()); }

更新:

要回答有关 XElement.Load(URI)的评论部分的问题,你可以做到以下几点:

VAR请求=(HttpWebRequest的)WebRequest.Create(stackoverflow/feeds); request.Timeout = 1000; //超时后1000毫秒 使用(VAR流= request.GetResponse()。GetResponseStream()) 使用(VAR读卡器=新的StreamReader(流)) {     VAR XEL = XElement.Load(读卡器); }

I am trying to make a web service request call to a third part web site who's server is a little unreliable. Is there a way I can set a timeout on a request to this site? Something like this pseudo code:

try // for 1 minute { // Make web request here using (WebClient client new WebClient()) //...etc. } catch { }

解决方案

You could use the Timeout property:

var request = (HttpWebRequest)WebRequest.Create("www.google"); request.Timeout = 1000; //Timeout after 1000 ms using (var stream = request.GetResponse().GetResponseStream()) using (var reader = new StreamReader(stream)) { Console.WriteLine(reader.ReadToEnd()); }

UPDATE:

To answer the question in the comment section about XElement.Load(uri) you could do the following:

var request = (HttpWebRequest)WebRequest.Create("stackoverflow/feeds"); request.Timeout = 1000; //Timeout after 1000 ms using (var stream = request.GetResponse().GetResponseStream()) using (var reader = new StreamReader(stream)) { var xel = XElement.Load(reader); }

更多推荐

在.NET Web请求超时

本文发布于:2023-11-12 01:41:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1580152.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:NET   Web

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!