【出现频率】★★☆☆☆【解答】访问者通过浏览器初次访问ASP.NET网页,默认情况下,会使ASP.NET
页面相关的
代码发生编译的过程,运行库的编译器将相关的代码编译为程序集,
所以初次访问响应慢。这个程序集根据初次访问的HTTP请求创建后,将被以后的请求复用,即不需重新编译,所以速度很快。【分析】本题考查面试者对ASP.NET页面编译时机的理解。在默认情况下,当接收到浏览器端的HTTP请求时,所指定的页面代码文件将会被运行库的编译器编译为一个完整的页面类。由于初次请求会引发这个过程,包括运行库初始化、分析、把页面类相关的代码编译为中间语言、然后即时编译为本地代码等,所以感觉很慢。以后再次访问这个页面时,初次访问时所创建的程序集可以被直接使用,所以浏览速度就没有多余的延迟了。其实这个问题是应用服务器池(也就是iis里面你网站使用的那个)满了造成的,你会发现你回收一下就快了。我也遇到这个问题,其实服务器内存和cpu还有很多,可惜这个应用服务池默认的设置下只会使用很少的一部分内存,如果满了,对于aspx页面,就会很慢才会有反应。所以我的解决办法就是给它的最大使用内存数定了个300m,这样当满了以后,会自动回收,这样问题就解决了,aspx页面访问就很快了。
加一句,你本地访问是不会使用那个连接池的,所以不受影响,为什么不使用的具体原因我也没去弄清楚。而且连接池满的情况一般是在访问量很大下容易发生,一般人也碰不到这个问题。
评论列表(0条)