解决HttpWebRequest首次连接特别慢的问题

今天把我以前做的一个程序升级到了.NET 4.0的版本,里面有一段通过HttpWebRequest获取html的代码,第一次运行特别慢,后续运行就快了。在网上搜了一下,在http://blog.csdn.net/rrrfff/article/details/6170653中找到了原因:.NET4.0中的默认代理是开启的,使用默认代理时,只有等待超时后才会绕过代理,从而导致第一次连接特别慢。(不知道微软为什么要把这个打开)

该文章中也提到了解决方案,一般有两种:

1. 在配置文件中(.config)中添加相应配置,关闭默认代理:

 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  enabled ="false"  useDefaultCredentials ="false"   >  
 8        < proxy />  
 9        < bypasslist />  
10        < module />  
11      </ defaultProxy >  
12    </ system.net >  
13  </ configuration >

 

2. 通过编码的方式手动关闭Proxy。 

1      var req  =  WebRequest.Create( " http://www.google.com " ) ;
2      req.Proxy  =   null ;

 

 

你可能感兴趣的:(request)