服务器规格
Windows Server 2008 R2 64 bit
Provider : Fasthosts
.Net Framework: 4.0
6 GB RAM (its using 4.6 GB)
我有一个网站,里面有数千个页面,结构如下
folderone/1/one to 500.aspx
folderone/2/one to 500.aspx
.
.
folderone/500/one to 500.aspx
发布后首次加载此页面时,每个文件夹大约需要 20 到 30 分钟,并且一旦加载完一个页面,其余页面就可以正常加载。所有文件夹都是如此。
每次我重新启动服务器、向 app_code 添加任何内容或者更改 web.config 时,都会重复此操作。
我的网站主要使用 Google,由于这个问题,它会出现错误。任何帮助都将不胜感激。如果问题解决了,我很乐意请你喝杯啤酒。
提前致谢...
答案1
您在构建网站时需要对其进行预编译。
http://msdn.microsoft.com/en-us/library/ms229863(v=vs.100).aspx
Visual Studio 和 ASP.NET 的 Web 部署概述
http://msdn.microsoft.com/en-us/library/dd394698.aspx#basic_deployment_tasks
预编译项目。
默认情况下,网站项目未预编译,Web 应用程序项目中的 .aspx 和 .ascx 页面也未预编译。在某些大型应用程序中,编译过程可能会导致轻微延迟,在部署后首次请求网页时可能会很明显。有关 Web 项目编译和合并选项以及如何指定它们的信息,请参阅如何:使用 Visual Studio 中的一键发布功能部署 Web 项目。
答案2
嗯,很简单——第一个请求触发网站(包括所有页面)的编译。
游戏结束。一次编译运行中有数千个文件。死定了。
ASP.NET 不适合这种方法。不要将物理文件放在那里。使用类似 CMS 的方法。