延迟计时器一次

时间:2016-11-29 11:16:09

标签: c# timer delay

我正在研究一个每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:)

1 个答案:

答案 0 :(得分:0)

我可能会将你的间隔设置为CalculateDelay();在启动时。

然后,作为ElapsedEventHandler的一部分,将间隔更改为24小时设置。