我有一个在共享托管环境中运行的.net 4.5 Web应用程序(MVC 5)。我想每月运行一次自动化任务(绝对不需要准确性)。
应用程序池将在不活动约20分钟后回收(在此类article by Phil Haack中已详细描述了在此类环境中使用后台任务的问题。)
似乎最简单的方法是在DateTime.Today> = NextScheduledTime字段的情况下检查数据库,如果是,则运行方法&为下个月设置数据库NextScheduledTime。
最好执行此检查+/-执行该方法,而不会对当前请求造成性能损失 - 即在对Web请求的响应发送到客户端之后立即执行。
是否有一个事件或其他方式我可以加入Web请求周期的这一部分(或任何其他博学的想法,关于我如何/应该在这样的环境中运行每月任务)? 谢谢。