我正在研究一个每24小时需要做一些事情的项目。我有一个计时器,但是当我启动程序时,我想让它延迟计时器一旦确定它在夜间运行。
计时器:
timeForFitbitUpdate = 86400000; // Setting 24 hours of intervals
Timer aTimer = new Timer(10);
aTimer.Elapsed += new ElapsedEventHandler(RunEvent);
aTimer.Interval = timeForFitbitUpdate;
aTimer.Enabled = true;
我试过这段代码:
int delayTime = CalculateDelay();
var connectionString = ConfigurationManager.ConnectionStrings["VRT"].ConnectionString;
FitbitDataSave dataSave = new FitbitDataSave(connectionString);
await Task.Delay(delayTime);
dataSave.DoTimedWork();
但是在计时器和延迟中都有其他硬编码的毫秒数。 延迟时间设置为5分钟,计时器设置为5分钟,第一次是10分钟,之后是11分钟,依此类推......
如果有人有任何想法请分享thnx:)
答案 0 :(得分:0)
我可能会将你的间隔设置为CalculateDelay();在启动时。
然后,作为ElapsedEventHandler的一部分,将间隔更改为24小时设置。