asp.net默认的运行方式是编译运行,即第一次运行后,以后的速度就会变得非常快,对于你的问题,我想是不是你的项目中间有过改动,重新编译过了。

解决方案 »

  1.   

    是否为下面的现象:
    如果以机器名访问,则dllhost不断增大;如果以IP地址访问,则INETINFO进程不断增大;直到虚拟内存的最大值,然后机器基本瘫痪,客户端无法访问,重启后恢复正常。
      

  2.   

    我需要说明的是,
    1,内存不是问题,因为我用windows的任务管理器查看时连物理内存都没有用完,还剩
    几百M,更别说虚拟内存了。
    2,即使重新编译,也只是很短时间的事。
    这种情况该不是编译的问题了吧:同一个用户访问网页,第一次访问很慢,而后比较快;
    但如果十几分钟后或几十分钟后他再次访问网页,还是像第一次那样慢。
      

  3.   

    。NET是编译后运行的,所以新建一页或修改一页后的第一次运行十分慢,都以后就很快了,这是个优点,因为第一次运行的一般是程序员(也就是你啦)
      

  4.   

    速度慢肯定是和数据库操作有关。试试把SQL语句写成存储过程,那样会快很多。
      

  5.   

    建议你使用TRACE 跟踪下问题出在哪里先!再有就是要用好 Cache 这个太强大了!
      

  6.   

    IIS替你将ASP.NET的编译开销给回收了,也就是说隔一段时间无人访问就会将你编译的IL从内存中释放,当再有人访问时,再编译IL,这样可以有效利用内存资源
      

  7.   

    我终于找到了问题的可能症结:我的服务器上的网页使用的是windows认证,
    这要到我们公司网络上的一台域服务器去验证。但是上周末,这台域服务器
    由于硬件原因down掉了,换了另外一台辅助服务器作为主服务器。ITS的人说这样验证过程就变得很慢了,这是由于我的服务器找不到域服务器,
    只好在目录中遍历搜索,于是第一次是很慢的了。他建议我重新配置dns,
    但听我说从来没有配置过时,叫我重启机器,但是我已经重启过一次了,还是不行。
    我本来准备好好问一下ITS的相关人员,但是今天早上发现机器的访问速度又
    回升到以前的状态,就没有再问了。所以我这里说是很可能发现了问题的原因。
      

  8.   

    dllhost不断增大,他要将dll完全装入内存编译,所以你第一次运行越来越慢。而你第二次就几秒,已经在内存中了,这很正常,所以建议重启