我正在编写Windows c#服务,并且必须在其他时间启动我的服务。时间不是固定的,它们是动态的,可以一天(time1:11:50 am,time2:12:50 pm,time1:16:24 pm)一天以上。我的服务仅在第一次正确启动,但随后只是随机启动
这是我的代码
foreach (var timer in args)
{
_timer = new System.Timers.Timer();
_timer.Enabled = true;
_scheduleTime = Convert.ToDateTime(timer);
_timer.Interval = _scheduleTime.Subtract(DateTime.Now).TotalSeconds * 1000;
_timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer_Elapsed);
}
Timer_Elapsed代码是:
protected void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
try
{
//onDebug();
Console.WriteLine("Completed Successfully");
Log.writeFile("Completed Successfully");
if (_timer.Interval != 24 * 60 * 60 * 1000)
{
_timer.Interval = 24 * 60 * 60 * 1000;
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
我想做的是在args数组中给定的时间启动服务
谢谢