在GoDaddy共享托pipeASP.NET 4.0中启动应用程序池时自动启动计时器

我有一个GoDaddy共享主机计划,我有几个ASP.NET 4.0网站。 我有一些类似cronjob的function,每5分钟执行一次web相关的任务。 我已经把定时器的初始化逻辑放到我的Global.asax Application_Start方法中。 我的任务在我的服务器处于活动状态时(例如请求被执行)起作用,但是我遇到了一个问题:每当我的应用程序被回收时,我的计时器都不会被注册为Application_Start直到发出请求才会被调用。 我没有一个活跃的网站,我不能依靠一个请求到我的网站为我的应用程序启动。 我search并find了自动启动模块 ,这是很好的,但由于我在共享主机(因为GoDaddy不是一个客户友好的公司,当谈到解决客户问题),我不能使用这个模块,因为它需要安装在机器/ IIS级别。 应用程序初始化模块也一样。

如何在共享主机环境中回收后自动启动我的应用程序,而无需等待外部请求?

像Pingdom这样的外部服务可以在任何时间间隔向您的网站发送请求。 只要确保它实际上是对URL的HTTP GET请求。 这应该强制服务器运行应用程序。

最后:切换您的虚拟主机提供商,它会为您节省很多头痛的道路。 我个人推荐DiscountASP.net。 伟大和便宜的Windows在美国和欧洲托pipe。

您可以随时在任务计划程序中运行powershell命令来ping所需的URL,以使IIS App Pool保持清醒状态。