gpt4 book ai didi

c# - 安排 C# Windows 服务每天执行任务

转载 作者:太空狗 更新时间:2023-10-29 22:10:59 24 4
gpt4 key购买 nike

我找到了 this answer我尝试这样做,但在我开始服务时它并没有给我带来任何工作。我无法理解的一件事是:`_timer = new Timer(10 * 60 * 1000);//每 10 分钟

我想每天晚上 10:00 执行我的服务,我该怎么做?

最佳答案

您可以找出当前时间和您的期望的计划时间之间的差异,并据此制定耗时间隔。这样,计时器事件 将在预定时间触发一次。设置时间间隔为 24 小时。

private System.Timers.Timer _timer;    

private void SetTimer()
{
DateTime currentTime = DateTime.Now;
int intervalToElapse = 0;
DateTime scheduleTime = new DateTime(currentTime.Year, currentTime.Month, currentTime.Day, 10,0,0);

if (currentTime <= scheduleTime)
intervalToElapse = (int)scheduleTime.Subtract(currentTime).TotalSeconds;
else
intervalToElapse = (int)scheduleTime.AddDays(1).Subtract(currentTime).TotalSeconds;

_timer = new System.Timers.Timer(intervalToElapse);

_timer.Elapsed += new System.Timers.ElapsedEventHandler(_timer_Elapsed);
_timer.Start();
}

void _timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
//do your work
_timer.Interval = (24 * 60 * 60 * 1000);
}

关于c# - 安排 C# Windows 服务每天执行任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11918907/

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