HttpWebRequest 第一次为何响应慢? 在线等待中....

CtrlT 2007-08-02 10:22:59
偶在做个winform自动更新的。
发现用WebRequest时第一次取文件响应总要10来秒。
且第一次是取的一个xml文件只有4K大
-----------------------------------------------------------------
主要代码如下:
Stopwatch sw = new Stopwatch();
sw.Start();
HttpWebRequest wRequest = (HttpWebRequest)WebRequest.Create("网络路径");
WebResponse wResponse = wRequest.GetResponse();
sw.Stop();
MessageBox.Show("查找文件所花时间"+ (sw.ElapsedMilliseconds).ToString());

过了第一个后面的就快了。换了web服务器还是一样的结果。

高手支招?
...全文
438 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
RLib 2011-01-31
  • 打赏
  • 举报
回复
解决方案
http://blog.csdn.net/rrrfff/archive/2011/01/31/6170653.aspx
npump 2008-08-30
  • 打赏
  • 举报
回复
这不是缓存 也不是要编译 是程序要建立基础连接
CtrlT 2007-11-02
  • 打赏
  • 举报
回复
不好意思。
各位看官辛苦了。

原来少设了个
this.wRequest = (HttpWebRequest)WebRequest.Create(FileUrl);
this.wRequest.AllowAutoRedirect = true;
tsy_zx 2007-10-02
  • 打赏
  • 举报
回复
5楼说的对,.Net的所有对象第一次运行的时候才用JIT(即时编译器)编译成二进制代码,这里要花很多时间的。
powerhai 2007-10-02
  • 打赏
  • 举报
回复
WINFORM是这样的!WINFORM打开和WEB服务有关的东西,好像都是这样的,正常!
第一次打开连接远程速度慢,打开连接后系统有将连接缓存,所以后面打开就快了!
------------------------应该是这样的
-------------------------------------------------------------------
不同意,按此理解,打开各个不同网址的网页都需要有这样的连接缓存罗?,可结论是系统“只进行了一次这样的连接缓存”,并没有“多次连接缓存”
powerhai 2007-10-02
  • 打赏
  • 举报
回复
5楼说的对,.Net的所有对象第一次运行的时候才用JIT(即时编译器)编译成二进制代码,这里要花很多时间的。
--------------------------------------------------------
这个更离谱了,我作过测试,对象生成及以后都快的,就是首次读网络那会要等20秒.
优途科技 2007-09-19
  • 打赏
  • 举报
回复
WINFORM是这样的!WINFORM打开和WEB服务有关的东西,好像都是这样的,正常!
第一次打开连接远程速度慢,打开连接后系统有将连接缓存,所以后面打开就快了!
------------------------应该是这样的
m777 2007-09-19
  • 打赏
  • 举报
回复
WINFORM是这样的!WINFORM打开和WEB服务有关的东西,好像都是这样的,正常!
第一次打开连接远程速度慢,打开连接后系统有将连接缓存,所以后面打开就快了!
powerhai 2007-09-19
  • 打赏
  • 举报
回复
致楼上的,这是winform程序不是asp.net的程序,懂吗?
破碎的脸 2007-09-19
  • 打赏
  • 举报
回复
WINFORM是这样的!WINFORM打开和WEB服务有关的东西,好像都是这样的,正常!
第一次打开连接远程速度慢,打开连接后系统有将连接缓存,所以后面打开就快了!
------------------------应该是这样的

同意
awuzi 2007-09-19
  • 打赏
  • 举报
回复
同意
powerhai 2007-08-31
  • 打赏
  • 举报
回复
我也有同样问题,访问百度主页起码等6秒钟,应该跟网络没关系,浏览器访问是非常快的.
songle912 2007-08-31
  • 打赏
  • 举报
回复
第一次运行程序要编译的,或者你的时间并不是花在了响应上,花在了编译上也说不定,在HttpWebRequest前后定个时,一目了然
纷享刘晨 2007-08-31
  • 打赏
  • 举报
回复
服务器文件发生变化,服务器在编译?
CtrlT 2007-08-02
  • 打赏
  • 举报
回复
是本地的局域网。
viena 2007-08-02
  • 打赏
  • 举报
回复
网络问题吧,不明白~

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧