为备份程序实现调度程序

时间:2013-07-02 09:13:08

标签: c# automation backup

对于我正在做的备份程序我已经完成了GUI。现在我想做功能要求。每个备份都可以有计划。有预定义的设置,如每个星期日或星期一,但用户也可以指定自己的日程安排。

由于我从未做过这样的事情,我想知道每隔x小时或几天运行备份会有什么好办法。我正在考虑使用Threads或编写服务,但这两个领域对我来说都是全新的。这里最好的方法是什么?

2 个答案:

答案 0 :(得分:0)

如果线程开发和服务开发都是全新的,那么我认为您将很难以有用的方式实现它。即便如此......

调度程序类型的应用程序最好作为服务运行,因为否则您需要用户登录才能运行该应用程序。服务独立于登录用户运行。

因此,服务没有用户界面,因此您的GUI需要将计划的详细信息打包到某个配置文件中,然后通知服务重新加载该配置文件,以便服务将然后知道该做什么以及何时做。

该服务通常会产生一个工作线程来执行几乎所有操作,并且该工作线程需要能够响应正在关闭的服务(在AutoResetEvent上阅读以了解如何在线程)。然后该线程将等待一个事件或适当的时间到达,然后做它必须做的任何事情。

这些都不是很复杂,但我建议你先做一些多线程编程。

答案 1 :(得分:0)

我同意ColinM,服务最适合调度程序类型的应用程序。 您必须将服务与应用程序结合使用,以便按计划的时间间隔运行代码。 有关详细信息,请参阅文章 - http://msdn.microsoft.com/en-us/magazine/cc163821.aspx