C# HttpWebRequest第一次请求非常慢的原因

时间:12-07-02 栏目:C#开发 作者:kyle 评论:0 点击: 8,312 次

成都SEO小五封装了很多网络操作类

今天偶尔在飘易老大的博客看到,HttpWebRequest在第一次请求的时候会非常慢。

很多人遇到 这个问题。小五平时使用的时候没有仔细去做时间判断。

反正这次遇到了就记录下来,有很多人遇到这种情况,原因在于第一次请求HttpWebRequest的时候,会检查默认代理,使用默认代理时会等待超时才跳开,从而导致第一次访问非常慢。

第二次之后就正常了。

影响地方:.NET 4.0或3.5默认代理都是开启的。所以第一次访问会等待,直到超时才访问页面或者URI。形成阻塞。

解决办法一:

在遇到的时候,直接给proxy一个null值。

如果是WebClient,设置

WebClient.Proxy=null;

如果是HttpWebRequest直接

HttpWebRequest.Proxy=null;

解决办法二:

在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>  

就简单来说还是第一种方法比较好。可以直接设置为null当要用代理的时候再赋个值。

成都SEO小五嚎2句: 本文是(成都SEO小五)辛苦弄出来的,转载成都SEO小五原创的请保留链接: C# HttpWebRequest第一次请求非常慢的原因,3Q

C# HttpWebRequest第一次请求非常慢的原因:等您坐沙发呢!

来给哥评论评论


------====== 小五公告 ======------
成都SEO小五,专注成都搜索引擎优化。
小五善长站内外优化,C#、PHP开发,中英文SEO,Google中英文和百度优化技术。欢迎群内交流。伸手党请绕路,求资源的请绕开,求问题解答的请进群内交流。开放了一个QQ交流群:160750032。加入验证时请标注任何SEO相交字眼。友情链接直接Q我,收录正常,内容大部份原创、SEO或者程序开发、网络营销、线上推广等相关行业即可。

常用工具

赞助广告

来看过哥的人