避免WebRequestObject中的异常

时间:2010-07-15 18:13:34

标签: c# exception system.net system.net.webexception

我正在阅读网站上的数据如下:

webRequestObj = (HttpWebRequest)WebRequest.Create("http://localhost/503errorPage.php");
theResponse = webRequestObj.GetResponse();
theResponseStream = theResponse.GetResponseStream();
theStreamReader = new StreamReader(theResponseStream);
theWholePage = theStreamReader.ReadToEnd();

如果我到达有503错误的页面,则行:

theResponse = webRequestObj.GetResponse();

抛出WebException:

The remote server returned an error: (503) Server Unavailable.

有没有办法检查网站是否返回503错误而不是在try / catch块中包装所有内容并等待异常?我每秒做很多更新,如果可能的话,我想避免尝试/捕获。

1 个答案:

答案 0 :(得分:0)

与进行网络连接所需的时间相比,try / catch的成本将微不足道。真的,如果表现是你担心的 - 放弃担心:)

现在我很乐意承认,在更哲学的层面上,你不能做出一种推测性的呼召 - 一种TryGetResponse - 但我不知道这样做的方法。其中一种异步方法可能会起作用,但最终可能会改变很多代码。

顺便说一下,请确保丢弃响应和流 - 如果您不处理响应,则您可以限制可以对同一服务器建立的连接数。