繁体   English   中英

文件进入特定文件夹后自动上载

[英]Automatically upload files as soon as they get into a specific folder

好吧,我在这里陷入了困境。 我需要的是解决以下问题的解决方案:我基本上想在文件创建到客户端系统的特定文件夹后立即自动将一些文件上传到服务器。 将在一个特定的路径中创建一些文件,假设在路径中: C:\\ User \\ Desktop \\ Scanned Files ,现在,一旦用户将其文件保存到该路径中,某种窗口服务便会拾取该文件并上传到我的服务器。 过程应该足够快,我的意思是不超过1分钟。

我可以使用Windows服务或预定任务。 据我所知,Windows服务始终在后台运行,但是它们需要使用定期运行的计时器并执行分配的操作。 并且计划的任务在特定的时间点运行。 首先,我在这里很困惑,应该采用哪种方法,哪种方法可以更有效,更可行地满足我的要求。 还是除了Windows服务和计划任务以外,还有其他更好的方法吗?

您可以使用FileSystemWatcher类,并可以利用其事件将该文件夹中的任何新文件上传到服务器,如下所示

   FileSystemWatcher folderWatcher= new FileSystemWatcher("C:\User\Desktop\Scanned Files");

   folderWatcher.EnableRaisingEvents = true;

   folderWatcher.Created += new FileSystemEventHandler(folderWatcher_Created);

   void folderWatcher_Created(object sender, FileSystemEventArgs e)
   {
        // Your code to upload the file to the server
   }

毫无疑问,您应该使用计划任务。

Windows Task Scheduler是安排像您这样的简单过程(文件上传)的正确解决方案。 它只是更好,更稳定。

服务执行特定的系统功能以支持其他程序,尤其是在较低级别上。

服务不提供计划,因为它们旨在始终运行! 另一方面,Windows Scheduled Tasks具有高级的计划功能 ,可以通过管理方式进行访问。 这是一个优势。

文件上传是Service实施的不佳选择。 即使您非常谨慎和稳定地编写它。

但是,您可以从一个简单的计时器开始,然后迁移到计划任务。

希望这对您有帮助。

如果需要更多参数,请乔恩·加洛韦(Jon Galloway)想到:请参阅此处: http : //weblogs.asp.net/jongalloway//428303

另外这里还有一个相关的问题: Windows服务与计划任务

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM