编写一个在后台运行并每小时执行一次操作的程序

时间:2012-02-28 16:01:30

标签: c# windows background

我想用C#编写一个应用程序,它在大多数时候都在后台运行。它应该只显示TrayIcon。为此,我找到了一个教程:http://www.simple-talk.com/dotnet/.net-framework/creating-tray-applications-in-.net-a-practical-guide/

但是我怎么能告诉我的程序每小时运行一次?什么是实现这一目标的最佳方式。计时器?应用程序应该尽可能少地使用资源,而不做任何事情。

感谢

3 个答案:

答案 0 :(得分:8)

没有一直运行的程序,但每小时只执行一次活动。编写执行活动的程序,然后使用Task Scheduler in windows每小时安排一次。

答案 1 :(得分:2)

问题:您正在执行“用户空间”程序,或者即使用户未登录也应该运行?换句话说,它应该永远存在吗?

基本上,您是在为用户做一些有用的事情,还是将其用于将Web服务器的日志文件存档到数据库等业务任务?

如果是前者,请继续执行通知区域计划。如果是后者,请跳过通知区域程序并构建一个完整的Windows Service

在这两种情况下,都要使用计时器;资源使用将是最小的。

答案 2 :(得分:0)

不确定处理成本,但您可以在睡眠定时器中编码以使其在循环中休眠一小时,这样它就会唤醒,运行,然后再次进入睡眠状态。虽然睡觉时不确定资源的消耗。此外,如果程序可能需要几分钟,您可以根据DateTime.Now DateTime对象计算睡眠时间,以便它在一小时内每小时唤醒。