【发布时间】:2010-10-03 15:56:24
【问题描述】:
我有一个执行一些维护任务的 C# 应用程序。它需要大约每小时运行一次,尽管如果它有点偏离也不是很重要。它必须在没有人登录的 Win2003 服务器上运行。
基本上我想知道我是否应该编写一个 Windows 服务,如果是的话,如果 Thread.Sleep() 是暂停线程一小时的正确方法,或者是否有更好的方法来确保线程保持空闲并且不把任何服务器负载? (又名。与自旋锁最相反的是什么)
替代方案是 Windows 任务计划程序,但我不确定这是否适合服务器使用,因为 a) 我必须将计划存储在其中而不是在我的 app.config 中,b) 我无法轻松控制通过启动/停止/重新启动服务和 c) 我不知道 Windows 用户的凭据是否像我在服务 MMC 管理单元中输入它时一样安全。
你有什么看法?有一个空闲的服务是可能的还是很好的,或者你会推荐任务调度程序吗?
【问题讨论】:
标签: windows-services windows-server-2003