首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebResponse/HttpWebResponse的替代方案

WebResponse/HttpWebResponse的替代方案
EN

Stack Overflow用户
提问于 2012-01-19 23:02:59
回答 2查看 1.4K关注 0票数 2

我正在试着写一个简单的程序来从网站返回状态码。当前使用HttpWebRequest和HttpWebResponse类。然而,它们的工作方式对我来说似乎很可怕,只有当状态码为200/OK时才会返回,而所有其他代码都会给出一个webexception。

虽然我可以读取异常的响应并获得状态代码,但我想知道是否有其他不会导致异常的替代方案。据我所知,异常代价很高,应该保留到出现严重问题的极少数情况下。这对我的应用程序并不重要,但除非绝对必要,否则我宁愿避免异常。

那么还有没有别的选择呢?

编辑:

下面是一些代码

代码语言:javascript
复制
HttpWebRequest request = (HttpWebRequest) HttpWebRequest.Create("http://www.randomsite.com");
            request.Method = "HEAD";
            try
            {
                HttpWebResponse response = (HttpWebResponse) request.GetResponse();
                Console.WriteLine("Status: " + response.StatusCode);

                response.Close();
            }
            catch (WebException ex)
            {
                HttpWebResponse httpResponse = (HttpWebResponse) ex.Response;
                if (httpResponse != null)
                {
                    Console.WriteLine("Status: " + httpResponse.StatusCode);
                }
            }
EN

回答 2

Stack Overflow用户

发布于 2012-01-19 23:06:55

虽然异常的代价很高,但它们比web请求的代价要低得多。因此,只需包装HttpWebResponse以返回状态码,并忘记成本。

票数 3
EN

Stack Overflow用户

发布于 2012-01-19 23:12:06

我正在试着写一个简单的程序来从网站返回状态码。

什么的状态?您是否只想知道应用程序是否正在运行?HttpWebResponse.StatusCode返回响应的状态,而不是站点的状态。如果返回200以外的任何值,则表示请求无效或由于某种原因无法处理。

我同意Eugen的观点,在这种情况下你不应该关心性能,但我有一种感觉,你也找错了人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8928261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档