【编程环境】Visual Studio 2010, NET4.0

【开发语言】C#, 理论上VB.NET等依赖.NET Framework框架的语言均受此影响

【问题描述】

使用HttpWebRequest抓取网页内容,但首次请求总是莫名奇妙的阻塞在Request.GetResponse();上,不过一旦这次请求成功,后续的操作就很快了(如果是针对同一对象)。

相同的代码编译在NET3.5环境中却一切正常,而在NET4.0环境中执行就出这问题,难道是一个BUG?

【解决方案】

在配置文件中(.config)中添加配置节:

[html] view plaincopyprint?
  1. <?xml version="1.0"?>
  2. <configuration>
  3. <startup>
  4. <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  5. </startup>
  6. <system.net>
  7. <defaultProxy
  8. enabled="false"
  9. useDefaultCredentials="false" >
  10. <proxy/>
  11. <bypasslist/>
  12. <module/>
  13. </defaultProxy>
  14. </system.net>
  15. </configuration>
<?xml version="1.0"?>
<configuration><startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup><system.net><defaultProxyenabled="false"useDefaultCredentials="false" ><proxy/><bypasslist/><module/></defaultProxy></system.net>
</configuration>

【问题所在】

.NET4.0中的默认代理是开启的,而我并没有设置!故只有等待超时后才会绕过代理,这就阻塞了.

【参考资料】

"It's not set at all in app.cong or machine.config.  Hmm.  If I'm reading the MSDN docs right, the default for defaultProxy.enabled is TRUE if the element isn't specified at all.  That would be consistent with my observations. "

http://msdn2.microsoft.com/en-us/library/kd3cf2ex(VS.80).aspx

【问题引申】

如果在其它版本的.NET环境中遇到类似问题,不妨尝试WebClient.Proxy = null;或HttpWebRequest.Proxy = null.

解决.net webservice的WebClient或HttpWebRequest首次连接缓慢问题相关推荐

  1. 解决WebClient或HttpWebRequest首次连接缓慢问题

    [编程环境]Visual Studio 2010, NET4.0 [开发语言]C#, 理论上VB.NET等依赖.NET Framework框架的语言均受此影响 [问题描述] 使用HttpWebRequ ...

  2. SSH自动输入密码,取消首次连接确认

    SSH是最常用的工具了,ssh username@ipAddress 即发起到远程主机的访问.随后输入远程机器的密码即可连接,同时,首次连接到远程主机还会要求获得远程主机的公钥,这时必须手动输&quo ...

  3. 解决centos下tomcat启动太慢 JDBC连接oracle太慢的问题

    解决centos下tomcat启动太慢 & JDBC连接oracle太慢的问题 参考文章: (1)解决centos下tomcat启动太慢 & JDBC连接oracle太慢的问题 (2) ...

  4. 解决Debian 9 iwlwifi固件缺失导致无法连接无线网络的问题

    解决Debian 9 iwlwifi固件缺失导致无法连接无线网络的问题 参考文章: (1)解决Debian 9 iwlwifi固件缺失导致无法连接无线网络的问题 (2)https://www.cnbl ...

  5. 解决安卓SDK更新dl-ssl.google.com无法连接的方法

    解决安卓SDK更新dl-ssl.google.com无法连接的方法 参考文章: (1)解决安卓SDK更新dl-ssl.google.com无法连接的方法 (2)https://www.cnblogs. ...

  6. php mysql主从延迟_如何解决主从数据库同步延迟问题?php连接 mysql 数据库如何添加一个公共的配置文件50...

    在上一篇文章中,小编为您详细介绍了关于<图上属标注的什么样元器件?火车购票明明显示无座为什么样乘车后却发现有很多空座>相关知识.本篇中小编将再为您讲解标题如何解决主从数据库同步延迟问题?p ...

  7. git clone github_GitHub为什么连接缓慢以及解决方法

    本文首发在我的个人博客中: 个人博客|沧沧凉凉的小站​www.cclliang.com 1. 前言 之前有一篇文章介绍了Git的使用方法:项目或者文件管理神器-Git. 一般对于电脑有一定认知的人都会 ...

  8. 快速解决:阿里云ECS实例远程桌面连接 发生身份验证错误。要求的函数不受支持 !

    三步解决问题: 本地PC 远程桌面连接 阿里云ECS实例 失败 ? 报错: "发生身份验证错误.要求的函数不受支持" ? 一.问题截图描述: 二.3步解决问题: 1. 网页版 · ...

  9. 解决CentOS6.5下MySQL5.6无法远程连接的问题

    解决CentOS6.5下MySQL5.6无法远程连接的问题 参考文章: (1)解决CentOS6.5下MySQL5.6无法远程连接的问题 (2)https://www.cnblogs.com/yang ...

最新文章

  1. 解决机器学习问题的一般流程
  2. java字符串,包,数组及空心正方形,菱形的实例
  3. python django事务transaction源码分析
  4. Android windowSoftInputMode属性解析
  5. python中int的意思_python中”int(a[::-1])”的含义是什么?
  6. java vector_Java Vector elements()方法与示例
  7. Python使用pdfkit、wkhtmltopdf将html转换为pdf错误记录文档
  8. 无源波分和彩光模块_纯无源粗波分复用器(CWDM)部署4/5G网络,节省光缆资源...
  9. python数据按照分组进行频率分布_python 等频率切分数据
  10. 评论:我们该如何应对科技发展带来的失业
  11. 2019最烂密码榜单出炉,教你设置神级密码!
  12. 服务器PCI插槽上的固态硬盘,固态硬盘常见接口图解
  13. Zabbix错误:zbx_mem_malloc(): out of memory的解决方法
  14. 二维码——数字保险箱
  15. 笔记本Ubuntu系统,关上盖子不休眠设置
  16. mysql中的整除和取余函数
  17. ionic中的slide-box
  18. matlab读取Ansys仿真数据实例演示
  19. 任务开始时间和完成时间
  20. 1056: 幸运数字 Java

热门文章

  1. apache mediawiki 安装_MediaWiki系统的安装、配置和修改方法(转载)
  2. mysql 分表原理_MYSQL 分表原理(转)
  3. SearchHit转成java对象_Java开发中最常犯的10个错误,你中招了吗?
  4. 微信小程序和微信小程序之间的跳转和传参示例代码附讲解
  5. http和https的区别 与 SSL/TLS协议运行机制的概述
  6. [20190402]对比_mutex_wait_scheme不同模式cpu消耗.txt
  7. 大数据推荐(个性化推荐)
  8. IntellJ_打开选中的文件所在的文件夹
  9. javascript推荐书籍
  10. 用C写有面向对象特点的程序