2

我遇到了一个 ASP.net 站点(框架 3.5,IIS6)的问题,该站点的“首次点击”响应时间非常慢。我猜这个问题与应用程序池回收和必须预热有关。

我开始思考。作为该站点的一部分,我有一个 HTTP 模块,它在一个单独的线程上启动一个“永无止境的循环”,该线程定期(每 5 秒)在 SQL 上调用一个存储过程,以确保数据库仍然存在。我想知道类似的方法是否可以使站点向“自身”发出 HTTP 请求作为保持活动状态。

我的问题是,在我去做这件事之前,谁能想到它不起作用的任何原因?例如,像“哦,不...... ASP.Net 会发现你是在玩自己,而不是经历整个页面生命周期......等等”。

4

1 回答 1

2

您不能可靠地在 IIS 6 中使用预热脚本。如果应用程序池停止,则 HttpModule 将永远不会再次启动(直到有人访问该站点)。IIS 7 通过配置解决了这个问题。

我建议在服务器上使用脚本/程序,大多数共享点安装都需要一个。

一个简单的脚本:

http://blogs.msdn.com/b/joelo/archive/2006/08/13/697044.aspx

于 2011-01-31T06:59:35.970 回答