C#:获取窗口服务的下一次执行时间
Posted
技术标签:
【中文标题】C#:获取窗口服务的下一次执行时间【英文标题】:C#: get next execution time of window service 【发布时间】:2013-01-19 21:34:22 【问题描述】:我正在开发一个窗口服务,我必须安排它。时间表设置为一周中的任何三天和一天四次。在任何时候启动服务,它都必须选择下一个执行时间。
下一次执行时间可以是同一天,也可以是下一个预定的日期(可能有一两天的差距)。
【问题讨论】:
看到你尝试过的东西总是很高兴。 为什么要手动启动? Windows 服务是在后台连续运行的东西,并在时机成熟时执行它应该做的事情。作为替代方案,您可以使用还可以微调的计划任务。 我必须第一次启动它。在我启动它的任何时候,它必须选择下一个执行时间。 那么,您能否包含一个执行计划模式? 请不要在 cmets 中提供其他信息。编辑您的问题并将其添加到那里,以便人们在阅读您的问题时可以看到它,而无需费力地通过 cmets 找到它。如果所有信息都在问题本身中,它会提高您获得答案的机会。谢谢。 【参考方案1】:看看Task Scheduler Managed Library (Codeplex)。我相信它是由微软自己维护的。
将 DLL 引用添加到 Microsoft.Win32.TaskScheduler
后,您可以像这样轻松地使用它:
var taskService = new TaskService();
var task = taskService.NewTask();
task.Triggers.Add(new WeeklyTrigger(DaysOfTheWeek.Friday, 1));
task.Actions.Add(new ExecAction("YourProgram.exe", null, null));
task.RootFolder.RegisterTaskDefinition("YourTaskName", task);
这将注册一个每周五运行的任务,执行YourProgram.exe。
【讨论】:
以上是关于C#:获取窗口服务的下一次执行时间的主要内容,如果未能解决你的问题,请参考以下文章
如何等待http请求在处理到angular 7中的下一步之前获得响应[重复]