首页 > 解决方案 > 每月运行一次 .Net 方法

问题描述

我有一个使用 .Net 框架的 Windows 服务,它需要每月做一次“工作”。实现这一点的最佳方法是什么?

我可以想到以下选项:

1)做“工作”并睡眠2592000秒(相当于1个月)。

2)做“工作”并继续循环直到达到所需的日期/时间?(在循环内睡了大约 1 分钟)。

3) 将其更改为控制台应用程序,并让 Windows 调度程序在指定日期/时间运行控制台应用程序。

4)任何其他方式强制.net在特定日期/时间启动/继续线程?

标签: c#.netwindows-servicestask-parallel-librarywindows-task-scheduler

解决方案


在 Windows 中使用任务计划程序是一个很好且常见的选项。

另一种选择是使用调度程序库,例如FluentScheduler。这需要您的应用程序在整个月内都在运行,所以我会使用任务调度程序,让它简单地运行要执行的代码,然后让进程完成。

暂停线程或消耗 CPU 周期一个月(!)是无稽之谈,因此如果您的进程并不意味着真正长时间运行,请忘记1)并且2)可能还会使用。FluentScheduler


推荐阅读