1

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

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

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

4

2 回答 2

1

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

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

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

于 2013-08-07T18:12:00.000 回答
0

利用 Windows 服务和计时器,在程序启动时启动服务。让服务完成所有“繁重的工作”并在服务中使用计时器。这将允许破坏 GUI 并在不使用时释放其持有的资产,因为它不像隐藏在后台的应用程序那样引人注目且资源繁重。

于 2013-08-07T18:24:14.497 回答