0
<Day>
 <Monday>true</Monday>
 <Tuesday>false</Tuesday>
 <Wednesday>true</Wednesday>
 <Thursday>false</Thursday>
 <Friday>true</Friday>
 <Saturday>false</Saturday>
 <Sunday>true</Sunday>
 </Day>
<Time>
 <time>17:18</time>
</Time>

我有上面的 xml,我想通过 Windows 服务运行特定任务。例如:windows 服务应该在周一和周日晚上 17:18 打开记事本。

请让我知道如何在 C# 中实现这一点。如何创建 Windows 服务并要求该服务查看上述 XML 并在到达预定时间和日期时启动程序?

4

3 回答 3

1

考虑使用Quartz.net之类的调度程序,而不是构建定制的调度程序。它可能会为您节省一些时间和精力。

请注意,Quartz.net 使用 CRON 样式的调度语法,这与您的 XML 不同。但它仍然是可配置的。

于 2013-02-28T06:35:13.703 回答
1

我会建议两种方法: 1. 如果 XML 的使用不重要,那么更好的方法是创建一个 windows 计划任务并根据需要进行配置。之后,您可以创建一些控制台应用程序,该应用程序将按配置的时间表运行。2. 如果必须以任何方式使用 XML,您可以创建一个 Windows 服务,例如每 5 分钟运行一次。每次它必须读取 XML 的内容并将其与系统的 DateTime.Now 进行比较。

您可以在互联网上找到很多关于如何创建 Windows 服务的文章。例如这个http://www.codeproject.com/Articles/14353/Creating-a-Basic-Windows-Service-in-C

于 2013-02-28T07:05:20.277 回答
0

CodeProject 的本教程介绍了如何在 C# 中创建 Windows 服务。

我推荐Quartz.net进行调度。如果您对使用自定义 XML 解决方案一无所知,并且您使用的是 .NET 3.5 或更高版本,请查看LINQ to XML

根据您希望服务执行的程序(例如记事本之类的 GUI 应用程序),您可能需要考虑Vista 及更高版本上的会话 0 隔离

于 2013-02-28T06:42:32.763 回答