无数次有人说:".net做的网站第一次访问时速度慢,但是往后速度就快了"但是今天我发布的.net2.0网站,测试的时候N个人说:"一开始访问速度慢.打开以后就快了"然后我就纳闷了.照之前我的理解asp.net的网站应该是放到服务器上,然后只要有第一个人访问,以后的访问者都会快的呀.
---------------
现在问题是:1,现在我发布网站到服务器后,比如第一个访问的人是我,那么,其它地方访问者访问我的网页时的速度就不存在"第一次慢"这种感觉.
2,现在我发布网站到服务器后,比如第一个访问的人是我,那么,其它地方访问者访问我的网页时的速度还是会存在"第一次慢"这种感觉.请大家选择1或2,哪个是正确的说法.
谢谢!

解决方案 »

  1.   

    我也认为是1,那时要加载.net进程。
      

  2.   

    是1,
    asp.net默认的运行方式是编译运行,
    第一次运行时,会对代码进行编译,
    第一次运行后,以后的速度就会变得非常快重新编译的时机:
    web.config改变;代码修改;网站重启等等。
      

  3.   

    第一次访问要运行程序集,建立缓存...再次访问就可以根据策略来使用不同级别的缓存了。这里的缓存分为页面缓存、CLI缓存、http请求解析缓存等。
      

  4.   

    asp.net第一次存在编译的过程,等驻留到内存中去后下次别人访问就快乐
      

  5.   

    是1, 
    asp.net默认的运行方式是编译运行, 
    第一次运行时,会对代码进行编译, 
    第一次运行后,以后的速度就会变得非常快 重新编译的时机: 
    web.config改变;代码修改;网站重启等等。
      

  6.   

    每个aspx页都要编译一次,除非你发布到服务器上去后,把所有页面都点一次才行.
      

  7.   


    楼上的说了!编译只是第一个人访问慢!而不是每个人第一次访问慢!可能访问你的网站要下载大量的图片JS、css,下载一次后,第二次访问就不需要下载了,所以感觉速度快!你用firebug测试下,就知道,那些是从服务器上下载的,那些是读客户端的cache!
      

  8.   

    lz,你的问题是问asp.net网站,那么就是选1
    1,现在我发布网站到服务器后,比如第一个访问的人是我,那么,其它地方访问者访问我的网页时的速度就不存在"第一次慢"这种感觉. 
    至于15楼说的,是所有语言(包括HTML)普遍存在的问题,并不是asp.net独有的
    不管是什么做的网站,它上面的图片啊,html和js代码啊都有要下载到客户端的时间,
    但是这个时间和你问的问题完全是2个概念
    不要被人误解了。
      

  9.   

    1.如果你是单页形式的网站(也就是说代码和HTML在一个页面),这个是第一次访问慢,这种形式的网站不管你是第多少次访问,都是一样的慢,这种机制就和ASP一样了,属于解释型的,每次访问都会执行解释一次。建议不要这样做,这样做就体现不了ASP.NET的优势了。
    2.如果是双页形式的网站(就是所谓的CODEBEHINDE),如果你是没编译直接放到服务器上,他会在在访问者第一次访问的时候进行编译,
    然后把编译的文件放在系统盘的WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files的下面的一个文件夹下,下次访问就会直接调用这里编译好的DLL。
    在第二个访问者进行访问的时候,他就不用编译,直接调用以前编译好的DLL,所以说这个是第一次访问的时候会很慢。
    3.如果你是双页形式的网站,编译了以后放上去,不存在第一次慢的情况。任何情况下都是一样的。