2011-01-31 61 views
2

我遇到了ASP.net站点(框架3.5,IIS6)的响应时间非常缓慢的问题。我猜这个问题是和app pool recycling有关,不得不热身。我不得不想。作为网站的一部分,我有一个HTTP模块,它在一个单独的线程上旋转一个'永无止境的循环',周期性地(每5秒钟)调用SQL上的一个sproc来确保数据库仍然存在。我想知道是否可以使用类似的方法让网站将HTTP请求作为“自身”保持活动状态。在IIS中避免应用程序池热身

我的问题是,在我去做这件事之前,任何人都可以想到为什么它不起作用的原因吗?例如,“哦不...... ASP.Net会发现你在玩自己而不是浏览整个页面生命周期......等等”。

+1

IIS7.5有一个名为 '始终运行' 功能。 Scott Guthrie在2009年撰写了这篇文章。http://weblogs.asp.net/scottgu/archive/2009/09/15/auto-start-asp-net-applications-vs-2010-and-net-4-0 -series.aspx – Phill 2011-01-31 04:31:29

回答

2

在IIS 6中不能可靠地拥有热身脚本。如果应用程序池停止,那么HttpModule将永远不会再次启动(直到有人前往该网站)。 IIS 7通过配置修复了这个问题。

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

一个简单的脚本:

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

+0

啊,谢谢。我看到了这个问题。干杯。 – 2011-01-31 17:54:58