当前位置:  开发笔记 > 编程语言 > 正文

用于维护任务的Windows服务或任务计划程序?

如何解决《用于维护任务的Windows服务或任务计划程序?》经验,为你挑选了2个好方法。

我有一个C#应用程序,它执行一些维护任务.它需要大约每小时运行一次,但如果它有点偏差则不太重要.它必须在没有用户登录的Win2003服务器上运行.

基本上我想知道我是否应该写一个Windows服务,如果是的话,如果Thread.Sleep()是一个暂停线程一小时的正确方法,或者是否有更好的方法来确保线程保持空闲并且不放任何服务器负载?(又名.与Spinlock最相反的是什么)

另一种选择是Windows任务计划程序,但我不确定这是否适合服务器使用,因为a)我必须将计划存储在其中,而不是存储在我的app.config中,b)我无法轻易控制服务启动/停止/重启c)我不知道Windows用户的凭据是否与在Service MMC Snapin中输入时一样安全.

你有什么看法?拥有空闲服务是否可能有用,或者您是否建议使用任务调度程序?



1> 小智..:

您可能会发现此视频很有趣.对负责Windows服务的工程师的良好采访,以及何时选择服务或任务.简而言之,如果您的功能属于定期维护类别,请执行任务.



2> Ron Savage..:

我自己更喜欢任务计划程序,因为如果需要,它更容易维护和更改计划.

此外,如果开发人员"忘记"执行诸如关闭连接,文件等可能随着时间的推移而积累的事情,那么持续运行并"休眠"的实用程序会冒着导致问题的风险.让程序"运行和退出"是一个额外的安全毯.:-)

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有