c# – 在ASP.NET网站中动态创建计划任务

我需要一些关于在Web应用程序级别动态创建某种形式的计划任务的最佳方法的建议.计划任务将从外部API端点提取信息,以定期存储在数据库中,直到特定的结束时间.

通常,我会创建一个Windows服务,为我执行这项工作.遗憾的是,站点管理员可以创建多个任务来从外部API查询不同的条件.因此可能有多个任务在运行.

我一直在努力实现在计时器上运行的后台工作线程.这是最好的方法吗?或者使用像HangfireQuartz.net这样的东西是一个更好的解决方案,以确保我的后台进程不断运行?

我不知道在Web应用程序中是否可行,以确保在特定持续时间需要时可以不断运行任务.

最佳答案 我尝试使用Hangfire和Quartz.Net,在我看来,它们都非常适合调度任务. Hangfire有一个很好的界面来管理计划任务,但是当我在IIS上发布应用程序后遇到一些问题时,我转而使用Quartz.Net,它与
Keep Alive Service For IIS 6.0/7.5完美配合.所以,使用Quartz.Net你可能会看看
Scheduled Tasks In ASP.NET With Quartz.Net另一方面,为了在应用程序池回收,IIS /应用程序重新启动等之后使已发布的应用程序处于活动状态,只需在发布应用程序的服务器上安装
Keep Alive Service For IIS 6.0/7.5.有关这些问题的详细信息,请查看以下页面中的答案:

> Quartz.net scheduler doesn’t fire jobs/triggers once deployed
> execute a schedule with quartz in visual start now with interval 24 hours

希望这可以帮助…

点赞