.NET项目定时任务部署到IIS停止问题

项目场景:

在.Net开发中定时任务我一般都是写在Windows服务中跑,但这次项目组要求直接将定时任务写到web项目中。


问题描述

把定时任务的项目部署到IIS后,定时任务总是无缘无故挂掉。

原因分析:

最后发现是IIS应用程序池的回收机制导致了任务挂掉。


解决方案:

网上找了一堆方案:

  • 什么在应用程序关闭事件里再请求一次网站从而激活应用程序池;
  • 什么自己另外写个程序定时请求网站(这种纯属脱裤子放屁,那为何我不直接用Windows服务);
  • 什么修改应用程序池回收时间(无论设置多长时间总会存在任务的空窗期);

以上方法本人亲测都没有效果。

最终解决方案:应用程序池的启动模式设置为AlwaysRunning,站点的预加载已启用设置为True。
.NET项目定时任务部署到IIS停止问题_第1张图片
.NET项目定时任务部署到IIS停止问题_第2张图片

你可能感兴趣的:(.NET/.NET,Core,.netcore,IIS)