C# 像.net中的SystemFileWatcher这样的Ftp文件监视程序?

C# 像.net中的SystemFileWatcher这样的Ftp文件监视程序?,c#,.net,C#,.net,在我的项目中,我需要连续观察多个FTP文件夹,如果出现任何新文件,我需要选择文件名并进行一些处理如果这是普通的Windows/本地文件系统文件夹,我可以使用.net的SystemFileWatcher来实现这一点。是否有类似SystemFileWatcher的东西来监视FTP文件夹?


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

如果这是普通的Windows/本地文件系统文件夹,我可以使用.net的SystemFileWatcher来实现这一点。

是否有类似SystemFileWatcher的东西来监视FTP文件夹?



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


因此,您将在.Net中获得一个事件类,但在引擎盖下,它将是具有大量流量的拉式模型。

我不理解@Oliver的答案。当然,有一种方法可以使用FileSystemWatcher类来监视FTP文件夹中的事件,它不是一个拉模型。我现在正在使用MSDN文章中描述的模型创建类似的内容:


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

FTP是您自己的还是您正在访问其他人的FTP?FTP不是我自己的FTP,是其他人的FTP,我不知道他们使用的是什么操作系统。据我收集,问题是远程监视FTP文件夹,即执行某种反向同步。如果问题真的是关于监视本地服务器上的FTP“dropoff”文件夹,那么您当然是正确的。@Cyberherbalist:是的,如果您是服务器,您可以在此服务器上实现FSW(谁在服务器上以哪种方式创建文件无关紧要)。但问题是ftp客户端如何在ftp服务器上实现FSW。在这种情况下,您总是有一个pull模型,因为ftp协议没有指定任何这样的机制。