我有一个 Web 应用程序 ( http://www.holidaystreets.com ),它有大约 120,000 多个页面。每当我们重新启动服务器时,站点需要 15 分钟以上的时间来预热。
我将它构建为“发布”,没有任何繁重的初始化(即控制适配器或在 APPInit 中)。
有小费吗?
谜底解开
好吧,我今天发现了这个问题。此应用程序从 WebSite 类型项目转换为 WebApplication 类型。我在 web.config 中定义了 codedom,这样我就可以在第一次请求时单独编译每个页面。 (这样做是因为我们有如此多的页面)。然而,在 WebApplication 中,它在第一次加载时编译每个页面。由于删除了该部分,应用程序加载时间不到 2 秒!
最佳答案
可能你有很多静态数据是在第一次点击时启动的。查找您在静态类中使用的大量缓存数据(可能是从数据库中获取的?)。
关于ASP.NET Web 应用程序初始化(第一次命中)需要 15 分钟。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2334048/