Ftp文件观察器如.net中的SystemFileWatcher?

时间:2010-02-09 05:35:44

标签: c# .net


在我的项目中,我需要连续观看多个FTP文件夹,如果有任何新文件,我需要选择文件名并进行一些处理。

如果这是正常的Windows /本地文件系统文件夹,我可以使用.net的 SystemFileWatcher 来实现这一点。
有没有像< strong> SystemFilewatcher 来观看FTP文件夹?

nrk

2 个答案:

答案 0 :(得分:7)

这不存在,因为FTP文件夹无法向您发送任何有关任何更改的事件。所以你必须用后台工作者写自己的小班。这个定期向ftp服务器请求目录列表,并将其与最后获得的列表进行比较。然后你可以根据发生的变化发射一些事件。

因此,您将在.Net中获得一个事件类,但是在引擎盖下它将成为拉线模型,线路上有大量流量。

答案 1 :(得分:0)

我不明白@Oliver的回答。当然有一种方法可以使用FileSystemWatcher类来监视FTP文件夹中的事件,而且它不是拉模型。我正在使用这篇MSDN文章中描述的模型来创建类似于它的东西:

Windows Services: New Base Classes in .NET Make Writing a Windows Service Easy

要有效地使用FSW,请将其构建到Windows服务中,并让它观察FTP文件夹。当然,您需要将其安装在FTP服务器上(而不是网络中的其他位置),但它可以完全满足您的需求。