I have read much on this Forum regarding KeepAlive code running in the webserver which periodically issues a series of HTTP GET web requests to keep web resources alive. From the postings it would appear that one common technique is to trap a HTTP module Dispose method to drive such KeepAlive functions. Unfortunately, by the time a HTTP module Dispose method is driven, the application is almost completely shutdown. It works, but it is rather inefficient.
I would offer an alternative technique based on the ASP.NET 2.0 Health Monitoring heartbeat web event. Within Health Monitoring web.config settings, one can set the heartbeat web event at a frequency as desired by the application.
CLICK HERE to download a FREE sample Health Monitoring web event provider (HeartbeatKeepAlive), which intercepts the heartbeat web event and activates KeepAlive functions to keep one or more applications alive. I prefer the heartbeat web event technique because it consistently keeps web applications alive before an application shutdown is already underway. This technique also works well with any ASP.NET 2.0 compliant application; DotNetNuke application or non-DNN applications.
HeartbeatKeepAlive sample code is in the form of a VS.NET 2005 C# project, with a download size of 8mb. You will be prompted to login, at which point click on Register to create a user account, and you will be emailed the FREE sampleproject. This FREE download is available for 30 days.
Philip