在 .NET Core 中的 运行 服务器上,每天在特定时间执行一次方法

Execute a method once a day, at a specific time, on a running server in .NET Core

我有一个 api 网络 运行 24/7 在 LAN 上(由于数据安全原因,它没有连接到互联网)。每天早上 07:00 左右,我必须在其中调用一个方法。我读过定时器不可靠。我不拥有服务器,因此无权访问任务计划程序。我怎样才能做到这一点?

你认为我应该告诉他们我必须安装软件吗?他们会让我使用任务计划程序吗?没有任务计划程序,有什么办法可以做到这一点吗?

您应该研究几个选项。

  • 通过 IHostedService
  • 的原生 .NET Core 解决方案
  • Hangfire
    • 就我个人而言,我喜欢您可以配置仪表板并查看计划任务执行期间发生的情况。
  • 根据@Lei Yang in the comments, Quartz.NET
  • 的建议

Hangfire 仍在添加 in-memory 支持。因此,您需要有一个 SQL 服务器来存储有关作业的所有信息(触发器、状态等)。

这会对您的决定产生巨大影响。另一方面,Quartz.NET 确实支持 in-memory 商店类型。