Asp.NET Web应用程序:每x小时运行一个方法(长期)

时间:2016-07-08 12:01:05

标签: c# asp.net sql-server web-applications

是否可以自动化方法在Web应用程序(服务器端)中每x分钟/小时运行一次?

简化代码:

public class Task
{
    public string Name { get; set; }
    public DateTime Deadline { get; set; }
    ...
}

案例:每个任务都有截止日期,如果截止日期临近,我想生成邮件

有一些答案,例如使用 System.Threading here或将功能嵌入到构造函数中。但是我怎么能确定,它可以工作几个月而不被召唤?

谢谢!

2 个答案:

答案 0 :(得分:1)

我最喜欢的工具是Hangfire。它允许您安排任务,您的任务将如下所示:

RecurringJob.AddOrUpdate(() => CheckIfDeadlineIsApproaching(), Cron.Hourly);

与评论中的建议不同,这也不需要Windows服务,这使得此解决方案更容易。

答案 1 :(得分:0)

您应该将调度程序放在应用程序启动中。我认为Global.asax.cs文件