c#在随机时间安排任务?

时间:2012-10-01 15:52:42

标签: c# asp.net-mvc

我有许多任务(记录在具有预定时间的数据库中)需要在不同日期随机的不同时间运行,并且每个任务都需要很长时间才能处理。

每周都会有新的更多任务出现。在准确的时间自动执行所有这些任务的最佳解决方案是什么?

1 个答案:

答案 0 :(得分:2)

使用ASP.NET应用程序来执行重复的后台任务通常是一个坏主意,正如Phil Haack在他的blog post中解释的那样。

因此,您可以编写一个控制台应用程序来查询数据库并执行必要的任务。然后,只需使用Windows Scheduler以所需的时间间隔执行此应用程序。作为替代方案,您可以在ASP.NET应用程序中实现该任务,并让控制台应用程序简单地将HTTP请求发送到相应的控制器操作。

如果您无权访问您的服务器并且无法托管除ASP.NET应用程序之外的任何内容,那么您应该完全了解采用此方法的后果(如上述文章中所述)。因此,一种方法是使用诸如Quartz.NET之类的库来定期执行某些代码。

相关问题