写个小下载模块,用了httpwebrequest 
本来已经ok了,但是在一台win7的机器上调试时, 
HttpWebResponse httpResponse = (HttpWebResponse)wreq.GetResponse();
这一句非常的慢,大概10秒以上吧,但是接下来的下载就非常快了。公司是10兆公司光纤,肯定不是网速问题,下载的资源是公司外网服务器的,下行也是可以上1m的,所以我怀疑是dns解析问题,但是直接用外网,还是一样。并且同类问题,在其它几台win7上没有复现,xp上也没有,只有一台win7上如此。
网络上搜寻了一些答案,也都没效果,这里请各位大大们给点建议,有没有解决办法。200分求帮忙,有效马上给分哦! :p

解决方案 »

  1.   

    你是访问了 https ? 
      

  2.   

    是的  是下载一个 公网上 的http资源。访问速度不错哦
      

  3.   


    帮不上忙响应慢估计和你机器有关系。。换台WIN7的试试
      

  4.   

    HttpWebResponse httpResponse = (HttpWebResponse)wreq.GetResponse();我感觉应该是httpResponse的响应在你下载的服务器那里得到的速度影响了。毕竟是外网,可能有点关系吧。
      其他的倒没看出来有什么。
      

  5.   

    程序之后是要有n多的客户端使用  这个下载如果是5%的偶发性,测试那边也通过不了,愁啊,有点阴沟翻船的感觉。      HttpWebRequest wreq = (HttpWebRequest)System.Net.WebRequest.Create(requestUrl + oldversion);
                    //wreq.Method = "HEAD";
                    //wreq.AllowAutoRedirect = true;
                    wreq.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
                    HttpWebResponse httpResponse = (HttpWebResponse)wreq.GetResponse();
                    System.IO.StreamReader sr = new System.IO.StreamReader(httpResponse.GetResponseStream());             会不会和UserAgent 有关呢 ...... 
             出问题的机器和我测试的其他机器是在同一个局域网的,而且也是用的ipv4 tcp/ip协议  默认获取 ip和dns的设置。
       您这个话我是实在断句不能看不懂啊......        最后是一种猜想,10秒时间差不多够把数据都下载一遍了,会不会是网络上的数据已经被放入了数据缓冲层了?    纠结啊.........
      

  6.   


    试一下使用同样的代码下载服务器上的jpeg文件、html文件的速度!
      

  7.   

    谢谢老大关注   只是这一台机器的问题   jpeg html 都在 GetResponse的时候会卡住。另外一台笔记本上也出现了同样的问题,都是win7.这台机器拿到了别的网络环境下,一样卡住.......
      

  8.   

    可以用ping的方法看看是不是网络问题,这个应该是网络问题,找网管帮看看吧,我们都是搞编程的,网络真的不行。
      

  9.   

    用工具分析下过程,httpwatch.
      

  10.   

    在app.config 里写入 
    <system.net>
        <defaultProxy enabled="false" useDefaultCredentials="false">
          <proxy />
          <bypasslist />
          <module />
        </defaultProxy>
      </system.net>就好了..看来真是 代理的问题啊。
    但是真实的原因我还是不懂。请各位给我简单讲解一下成吗?
      

  11.   

    .net 4.0以下加入这一句
    request.Proxy = null;
    .net 4.0
    在配置文件中(.config)中添加配置节:01.<?xml version="1.0"?>  
    02.<configuration>  
    03.  <startup>  
    04.    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>  
    05.  </startup>  
    06.  <system.net>  
    07.    <defaultProxy  
    08.        enabled="false"  
    09.        useDefaultCredentials="false" >  
    10.      <proxy/>  
    11.      <bypasslist/>  
    12.      <module/>  
    13.    </defaultProxy>  
    14.  </system.net>  
    15.</configuration>  
      

  12.   

    net 4.0默认是启用代理的,以前的版本没有这个问题
      

  13.   


    那你怎么会说“只是这一台机器的问题 jpeg html 都在 GetResponse的时候会卡住”呢?
      

  14.   

    有高手在吗?上面的app.config是什么配置文件,不懂,也遇到类似的问题,C#新手 
      

  15.   

    http://www.microsoft.com/online/help/zh-tw/helphowto/cc54100d-d149-45a9-8e96-f248ecb1b596.htm
    defaultProxy 和useDefaultCredentials的说明