每小时通过网络收集文件

时间:2013-08-07 14:57:26

标签: c# visual-studio-2010 timer threadpool

我目前正在使用C#中的应用程序,它允许用户选择一个或多个联网驱动器或计算机,并从某个文件夹收集数据日志(文件夹位置在任何驱动器/ PC上始终相同)文件必须每小时收集一次,所以在上午10点,应用程序将从每个指定的文件夹中收集9AM的数据日志。

我希望只要应用程序在后台运行,就会在每小时自动发生在一个单独的线程中。我遇到的问题是我不熟悉如何设置这个定时器/每小时系统,这样就可以每小时制作和运行一个线程。如果有人有任何建议或方法,我可以告诉我。

*我正在寻找可以编码的选项,因为它将被分发到40或50台不同的PC

2 个答案:

答案 0 :(得分:1)

使用Windows任务计划程序调用您的程序。它将确保您不会错过调用,您的代码将在适当的时间调用,并且您可以使用xcopy轻松部署下一版本的工具。

我认为它甚至可以重试失败的作业,发送错误报告等。

您可以使用.bat文件编写任务脚本,也可以使用C#创建任务。它可以大规模部署。

答案 1 :(得分:0)

利用Windows服务加计时器,在程序启动时启动服务。让服务完成所有“繁重”并在服务中使用计时器。这将允许销毁GUI并在不使用时释放它所持有的资产,因为它比后台隐藏的应用程序更不突兀和资源更重。