我遇到了ASP.net网站(框架3.5,IIS6)的问题,其响应时间非常慢。我猜这个问题与app pool recycling有关并且不得不热身。
我开始思考。作为站点的一部分,我有一个HTTP模块,它在一个单独的线程上旋转一个“永无止境的循环”,它定期(每5秒)调用SQL上的一个sproc以确保数据库仍在那里。我想知道一个类似的方法是否可以使网站向“自己”发出HTTP请求作为一个保持活着。
我的问题是,在我这样做之前,任何人都可以想到为什么它不起作用的任何理由?例如,像“哦不...... ASP.Net会发现你正在玩自己,而不是经历整个页面生命周期......等等”。
答案 0 :(得分:2)
您无法在IIS 6中可靠地拥有预热脚本。如果应用程序池停止,则HttpModule将永远不会再次启动(直到有人访问该站点)。 IIS 7通过配置解决了这个问题。
我建议在服务器上使用脚本/程序,大多数sharepoint安装需要有一个。
一个简单的脚本:
http://blogs.msdn.com/b/joelo/archive/2006/08/13/697044.aspx