我正在使用 System.Timers.Timer 编写 Windows 服务来跟踪我的时间间隔。我想做的是让我的服务根据我的 app.config 文件中的变量在特定的日期和时间启动。
问问题
2865 次
2 回答
2
我不认为你真的在写一个 Windows 服务,我认为你是在写一份工作。解决您的问题的一种更简洁、更简单的方法是编写一个控制台应用程序,然后设置一个Windows 计划任务以按您想要的时间间隔运行该控制台应用程序。
别介意您必须使用该Timer
方法以毫秒为单位设置时间,Windows 服务将无法处理夏令时等。
于 2013-03-14T18:56:57.020 回答
1
尽管我认为最好的办法是将其设置为计划任务,但您可以轻松创建一个可等待的计时器,该计时器将在每天的同一时间发出信号。Windows 有一个 Waitable Timer 对象,但没有 .NET 支持它。
不久前,我发表了一篇名为Waitable Timers in C#的文章,其中我展示了如何在 C# 程序中使用这个对象。不幸的是,发表该文章的网站已不再存在。但是,您可以从我的网站http://www.mischel.com/pubs/waitabletimer.zip下载本文的代码示例。您可以以任何您认为合适的方式自由使用代码。
于 2013-03-14T20:47:37.120 回答