相关疑难解决方法(0)

在C#中调整HttpWebRequest连接超时

我相信经过长时间的研究和搜索,我发现我想做的事情可能更好,通过建立一个异步连接并在所需的超时后终止它......但我会继续问,无论如何!

快速代码片段:

HttpWebRequest webReq = (HttpWebRequest)HttpWebRequest.Create(url);
webReq.Timeout = 5000;
HttpWebResponse response = (HttpWebResponse)webReq.GetResponse(); 
// this takes ~20+ sec on servers that aren't on the proper port, etc.
Run Code Online (Sandbox Code Playgroud)

我有一个HttpWebRequest多线程应用程序中的方法,我连接到大量的公司Web服务器.在服务器没有响应的情况下HttpWebRequest.GetResponse(),即使我指定的超时仅为5秒,大约需要20秒才能超时.为了定期通过服务器,我想跳过连接时间超过5秒的服务器.

所以问题是:"是否有一种简单的方法来指定/减少WebRequest或HttpWebRequest的连接超时?"

c# timeout httpwebrequest

48
推荐指数
5
解决办法
9万
查看次数

GetHostEntry非常慢

我有一个WinForms应用程序,我正在尝试获取表单上显示的IP列表的反向DNS条目.

我遇到的主要问题是System.Net.Dns.GetHostEntry非常慢,特别是当没有找到反向DNS条目时.使用直接DNS,这应该很快,因为DNS服务器将返回NXDOMAIN.在内部,它调用ws2_32.dll中则getnameinfo() ,其中规定"名称解析可以通过域名系统(DNS),本地hosts文件,或通过其他命名机制" -所以我假设它的那些"其他命名机制"这导致它如此缓慢,但有谁知道这些机制是什么?

通常,每个IP需要5秒,除非它找到反向条目,然后它几乎是立即的.我使用线程部分地解决了这个问题,但由于我正在做一个大型列表而且我只能同时运行这么多线程,所以它仍然需要一段时间来完成它们.

有没有更好的方法来查找更快的反向DNS条目?

.net dns

8
推荐指数
3
解决办法
2万
查看次数

标签 统计

.net ×1

c# ×1

dns ×1

httpwebrequest ×1

timeout ×1