如何使Windows服务在上午12点的每个星期一运行
请指导我。
我已经试过以下一个..
protected void InitializeTimer() { if (timer1 == null) { timer1 = new Timer(); timer1.AutoReset = true; var todayInWeek = DateTime.Now.Date.DayOfWeek; DateTime _scheduleTime = DateTime.Parse(System.Configuration.ConfigurationManager.AppSettings["ScheduledTime"]); if (todayInWeek == DayOfWeek.Monday) { timer1.Elapsed += new ElapsedEventHandler(schedular()); } } } private void schedular(object sender, ElapsedEventArgs e) { try { } catch (Exception ex) { } }
正如人们在评论中所说,创建一个简单的控制台应用程序,然后安排一个任务。
要启动Task Scheduler
只需在Windows搜索栏中键入Task Scheduler
或Taskschd.msc
。
然后选择一个Create Task...
在右侧。 将其指向您的控制台应用程序,然后创建一个新的触发器,它应该在12.00每星期一运行,如下所示:
有关在Task Scheduler
中创建任务的更多信息
https://technet.microsoft.com/en-us/library/cc748993%28v=ws.11%29.aspx?f=255&MSPPError=-2147217396
您可以考虑使用Topshelf和Quartz.net进行调度 – 您可以创建一个控制台应用程序,将其安装为Windows服务,然后将其配置为每24小时运行一次。 如果你需要改变时间表,那么这将非常灵活 – 我通过windows GUI那种笨重的方式找到了调度任务。