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

标签 c# asp.net-mvc

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

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

最佳答案

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

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

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

关于C# 在随机时间安排任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12676716/

相关文章:

C# 控制台应用程序 - 此操作需要交互式窗口站

c# - 电报 :RadAsyncUpload is not firing event OnFileUploaded

asp.net-mvc - 选择哪个:ASP.NET MVC或RESTful WCF?

c# - 在 asp.net mvc 应用程序中使用 memorycache 每次都会创建它

c# - 在 Lambda 表达式中为 Model 属性使用动态值

c# - 如果需要同时批量处理事务和异步执行事务,是否应该将EF6 DbContext作为作用域或临时注入(inject)?

c# - 从同一方法返回自定义数量的 bmp 图像

c# - C# 中带有非捕获组的正则表达式

javascript - SignalR 仅在事件 SILO 中可用

c# - 从经典的 asp 过渡到 asp.net MVC