我有一个C#应用程序来完成一些维护任务。它需要大致每小时运行一次,尽管如果有点关闭它并不重要。而且它有一个Win2003的服务器没有人登录上运行。Windows服务或任务计划程序的维护任务?
基本上,我不知道是否我应该写一个Windows服务,如果是,如果Thread.sleep()方法是暂停一个线程有道小时,还是有更好的方法确保线程保持空闲状态并且不会造成任何服务器负载? (又名Spinlock最相反的东西)
另一种方法是Windows任务计划程序,但我不确定这是否适合服务器使用,因为a)我必须将计划存储在其中比在我的app.config,b)我不能轻松地通过启动/停止/重新启动控制服务和c)我不知道Windows用户的凭据是否与我在服务MMC管理单元中输入时一样安全。
您的意见是什么?拥有闲置的服务是否可行?或者您会推荐任务调度程序吗?