Windows 服务中的 TimeSpan 不精确

问题描述 投票:0回答:1

我开发了一个Windows服务,它时不时地运行一个任务。但是,任务执行间隔是每小时。但是,我注意到该任务大约每 1 小时 5 秒执行一次,这是一个问题。

我知道Windows不是实时操作系统,但是你不觉得误差太大了吗,在设定的时间间隔上加上5秒?

我尝试使用

TimeSpan.FromMinutes(60)
TimeSpan.FromSeconds(3600)
,得到了相同的结果。

我需要使用

System.Threading.Timer
,因为只有此类才有可能对首次执行应用延迟。

我基本上用:

_timer = new Timer(DestFunction, null, TimeSpan.FromSeconds(delaysec), TimeSpan.FromSeconds(3600));

我能做什么,让执行保持在每小时同一秒?

c# windows-services timespan
1个回答
0
投票

尝试保存带有时间戳的日志文件。 也许这 5 秒是延迟秒或服务启动时间。

© www.soinside.com 2019 - 2024. All rights reserved.