我正在创建一个必须在特定日期和时间运行的Windows服务。我正在使用XML文档传递这些变量。这是我传递值的代码
static void Main()
{
ServiceBase[] ServicesToRun;
Service1= new Service1();
//Load setting from xml and assign to variables "daysToExec" and "timeToExec"
LoadSettings();
Service1.daysToExecute = daysToExec;
Service1.timeToExecute = timeToExec;
ServicesToRun = new ServiceBase[] { Service1 };
ServiceBase.Run(ServicesToRun);
}
Service1.cs中OnStart()的代码
protected override void OnStart(string[] args)
{
timer1.Enable = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
foreach (string DayToRun in daysToExecute)
{
if (DateTime.Now.DayOfWeek.ToString().ToUpper().Equals(DayToRun.ToUpper()) && DateTime.Now.ToShortTimeString().Equals(timeToExecute))
{
Process.Start("Path to executable");
}
}
}
但这不是启动可执行文件。这段代码有问题吗。
感谢。
答案 0 :(得分:0)
我得到了答案。我正在使用System.Windows.Forms.Timer,由于某种原因,它根本没有执行timer_tick方法。使用System.Timers.Timer后,它工作正常。
感谢您的评论。