gpt4 book ai didi

c# - 间隔数月的定时器

转载 作者:行者123 更新时间:2023-11-30 19:03:29 25 4
gpt4 key购买 nike

我有一个 Windows 服务处理由 System.Timers.Timer 触发的事件。我想将该计时器的间隔设置为 3 个月。

System.Timers.Timer 的 Interval 属性是以毫秒为单位的 Int32,Int32.MaxValue 小于 3 个月以毫秒为单位。

我该怎么办?

最佳答案

您会重新考虑您的设计。存储下一次您要执行事件(例如注册表、文件、数据库...)的时间,然后定期唤醒以检查该时间是否已过。即使您可以将 System.Timers.Timer 设置为 3 个月,系统也可能会在计时器关闭之前重新启动,并且您会丢失事件。

另一种选择是使用由 Windows 计划程序执行的计划作业。它会运行一个小程序,向您的服务发送一条消息,说明事件已经发生。与定期醒来检查 3 个月是否已经过去相比,这会占用更少的资源 - 虽然更复杂。

关于c# - 间隔数月的定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4281885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com