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

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

【问题描述】

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

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

【解决方案】

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

<?xml version="1.0"?>
<configuration>  <startup>  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>  </startup>  <system.net>  <defaultProxy  enabled="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.

【总结】

问题往往出于不注意,我们要多加'小心'.

希望能帮到您!

转载于:https://www.cnblogs.com/tianciliangen/p/5846699.html

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

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

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

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

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

  3. ssh连接缓慢 ssh连接失败问题 Linux 脚本解决ssh连接缓慢问题,windows解决本地ssh连接失败

    解决sshd连接缓慢 Linux系统 脚本 #!/bin/bash #更改ssh连接缓慢问题 echo "请输入要更改的主机名,回车跳过" read i if [[ "$ ...

  4. linux的scp命令突然速度变慢,scp连接缓慢的解决方法

    scp连接缓慢的解决方法 2017-08-10 scp是linux中很好用的几个命令之一,特别是在服务器之间拷贝文件.但我们在使用scp命令时会遇到敲完命令回车时,连接很慢,要等好久才能出现输入密码的 ...

  5. 计算机网络电缆被拔出是怎么办,解决Windows7系统下本地连接显示网络电缆被拔出的方法...

    在使用Windows7系统上网的过程中,想必有很多人都有遇到过网络断掉的问题吧,比如有部分使用win7 64位系统的用户反映说电脑桌面右下角本地连接显示网络电缆没有插好的提示,可是他们的网线有插好,不 ...

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

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

  7. 解决mysql获取不到连接的问题

    解决mysql获取不到连接的问题 参考文章: (1)解决mysql获取不到连接的问题 (2)https://www.cnblogs.com/ELMND/p/4554248.html 备忘一下.

  8. MERGE INTO 解决大数据量 10w 更新缓慢的问题

    MERGE INTO 解决大数据量 10w 更新缓慢的问题 参考文章: (1)MERGE INTO 解决大数据量 10w 更新缓慢的问题 (2)https://www.cnblogs.com/yun9 ...

  9. 解决postgresql数据库localhost可以连接,ip连接不了的问题

    解决postgresql数据库localhost可以连接,ip连接不了的问题 参考文章: (1)解决postgresql数据库localhost可以连接,ip连接不了的问题 (2)https://ww ...

最新文章

  1. 计算机技师操作考试题库含答案,计算机三级试题与答案
  2. CentOS6下yum下载的包存放路径
  3. lj245a引脚功能图_技术文章—教你快速读懂单片机时序图
  4. boost::mp11::mp_replace_third相关用法的测试程序
  5. python语言的作者是_Python是一门动态语言
  6. 中科院发布规范学术论著署名问题负面行为清单
  7. 在linux下搭建mysql数据库(以linux 版本Ubuntu18.04为例进行讲解)
  8. c# imager让图片有圆角unity_Unity纹理-引题和单张纹理
  9. DataTable随机复制一行给新的DataTable
  10. 面对 MySQL 查询索引失效,程序员的六大优化技巧!
  11. 树莓派 NAT123实现内网穿透
  12. ssm教师教学评价系统(ssm教学评价系统教师ssm学生评教系统)JSP网上评教系统jsp评教系统
  13. 毕业设计-智能自选综合商城设计(毕业设计源码+系统+文档+部署)
  14. 倾斜摄影三维建模全流程
  15. linux中查看rpm包位置,linux中,查看某个命令是来自哪个RPM包或者是通过哪个RPM包安装的...
  16. mysql 1055 - Expression 解决
  17. 创业型公司,你要不要去?
  18. 导航路径规划之四 路径规划概述
  19. 谷歌adwords教程_区块链技术作为Google AdWords中的安全剧院
  20. cf #823 Div.2(A~C)

热门文章

  1. Android监听SD卡文件变化
  2. MspEmu 一阶段小结
  3. PySide2 基础入门-创建实例窗口(详细解释)
  4. 记录ALiYun EMR常用服务的手动启动和停止命令(hdfs/yarn/mr-jobhistory/zk/spark-history)
  5. 【云栖大会】基因计算:解读生命的力量
  6. 一张图解释Linux的目录结构
  7. Spark SQL 源代码分析系列
  8. 对Flush原理的个人理解
  9. 想起linux关机命令
  10. git的基本使用-1