asp.net应用程序启动需要很长时间,即使在编译之后也是如此

asp.net应用程序启动需要很长时间,即使在编译之后也是如此,asp.net,iis-7,Asp.net,Iis 7,我在IIS 7上有一个asp.net应用程序。它是“预编译的”,但我知道IIS在第一次运行程序集时仍必须编译这些程序集 问题是——在发布和部署应用程序之后,我登录,并且(正如预期的那样)大约需要30秒才能看到登录页面。然后我访问每个页面,以便对它们进行编译(我使用了“每个页面的单独文件”或任何选项) 到目前为止还不错 然后10分钟后,我登录,这几乎是瞬间。仍然很好,并期待 然而第二天,我的第一次登录又需要30秒或更长时间。在此期间,没有人更改web.config或复制任何新程序集——我确信这一点

我在IIS 7上有一个asp.net应用程序。它是“预编译的”,但我知道IIS在第一次运行程序集时仍必须编译这些程序集

问题是——在发布和部署应用程序之后,我登录,并且(正如预期的那样)大约需要30秒才能看到登录页面。然后我访问每个页面,以便对它们进行编译(我使用了“每个页面的单独文件”或任何选项)

到目前为止还不错

然后10分钟后,我登录,这几乎是瞬间。仍然很好,并期待

然而第二天,我的第一次登录又需要30秒或更长时间。在此期间,没有人更改web.config或复制任何新程序集——我确信这一点

有人知道为什么会这样吗?是否存在应用程序超时(与会话超时相反)?IIS管理控制台中是否有一些默认设置不是最佳设置? 谢谢你在这方面的帮助,
James

是的,在IIS中启动ASP.NET应用程序相对较慢。多少钱?这取决于

第二天又变慢了,因为IIS会在应用程序处于非活动状态一段时间后关闭它们

解决方案是“应用程序初始化”。这是IIS 8中内置的,可作为IIS 7.5的带外模块使用:

在高级设置下,应用程序池出现空闲超时。将此设置为0,应用程序将不会因不活动而停止。

IIS会在默认情况下20分钟无活动后回收应用程序。非常感谢,我很高兴我没有忘记调整某个模糊或神秘的设置。我想我被困住了,因为我在IIS 7。也许在早上7点人们到达之前调用登录页面的批处理脚本是一个解决办法……是的,ping应用程序是一个(肮脏的)解决办法。你也可以尝试优化你的启动时间,我认为30秒有点长。在这方面,“web应用程序”项目类型比“web站点”要好得多,因为所有内容都提前编译到一个dll中(我认为使用一些预编译选项,您也可以通过web站点实现这一点)。