C# 通过网络每小时收集文件

C# 通过网络每小时收集文件,c#,visual-studio-2010,timer,threadpool,C#,Visual Studio 2010,Timer,Threadpool,我目前正在使用C语言开发一个应用程序,它允许用户选择一个或多个联网驱动器或计算机,并从某个文件夹收集数据日志。文件夹位置在任何驱动器/PC上都是相同的。文件必须每小时收集一次,因此在上午10点,应用程序将从每个指定文件夹收集上午9点的数据日志 我希望这在一个单独的线程中自动发生,只要应用程序在后台运行,每小时一次。我的问题是,我不熟悉如何设置这个计时器/每小时系统,以便线程可以每小时生成和运行。如果任何人有任何建议或方法,我可以这样做,请让我知道 *我正在寻找编码到其中的选项,因为它将被分发到4

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

我希望这在一个单独的线程中自动发生,只要应用程序在后台运行,每小时一次。我的问题是,我不熟悉如何设置这个计时器/每小时系统,以便线程可以每小时生成和运行。如果任何人有任何建议或方法,我可以这样做,请让我知道


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

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

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


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

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

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


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

使用windows service plus计时器,在程序启动时启动服务。让服务完成所有“繁重的工作”,并在服务中使用计时器。这将允许在不使用GUI时销毁GUI并释放其持有的资产,因为与隐藏在后台的应用程序相比,它不那么突兀,资源也不那么繁重。

利用windows service plus计时器,在程序启动时启动服务。让服务完成所有“繁重的工作”,并在服务中使用计时器。这将允许在不使用GUI的情况下销毁GUI并释放其保留的资产,因为它比隐藏在后台的应用程序更不显眼,资源也更少。

也许最好让程序执行一次性操作,然后在windows任务计划程序中安排每小时运行一次,这样,它就不会在剩下的时间里无所事事地消耗系统资源。@Servy您能详细介绍一下这个选项吗?@DarthSheldon您还需要什么详细信息。不要让工作永远运行,让它做一小时的工作,然后退出。使用Windows,而不是C代码,每小时运行一次。谷歌可以告诉你如何使用任务调度器如果你以前从未使用过它,它是一个非常直观的应用程序。@Servy好的,这对我来说不是一个可行的选择。这个应用程序将被分发到大约40台计算机上,在每台计算机上手动设置一些任务调度程序是不合理的。我正在寻找C代码中的解决方案也许最好让程序执行一次性操作,然后在windows任务调度程序中每小时运行一次,这样,它就不会在剩下的时间里无所事事地消耗系统资源。@Servy您能详细介绍一下这个选项吗?@DarthSheldon您还需要什么详细信息。不要让工作永远运行,让它做一小时的工作,然后退出。使用Windows,而不是C代码,每小时运行一次。谷歌可以告诉你如何使用任务调度器如果你以前从未使用过它,它是一个非常直观的应用程序。@Servy好的,这对我来说不是一个可行的选择。这个应用程序将被分发到大约40台计算机上,在每台计算机上手动设置一些任务调度程序是不合理的。我正在寻找C代码中的解决方案