繁体   English   中英

如何在C#中监视一个文件夹?

[英]How can I Monitor one folder in C#?

我正在创建Google云端硬盘之类的应用程序。

我要监视客户端PC中的一个文件夹。如果客户端在该文件夹中进行了任何更改,例如,创建一个新文件夹,创建文件,移动文件或目录,复制目录或文件等。

如果在PC上进行的任何更改将成为联机服务器,并且在在线服务器上进行的任何更改将反映为脱机。

我很困惑如何实现这一目标。

我打算创建用于文件夹监视的WIN SERVICE,如果完成任何更改,则它将调用wcf服务,该服务将在联机服务器上完全创建相同的文件夹并上传文件。

还有一个想法是:在winservice中,我维护目录结构的XML。当服务启动时,再次创建目录结构的xml并比较新旧xml,如果有任何更改,它将调用wcf。 但这不适合我的想法。

请给我建议以完成此任务。 考虑这种情况。

在客户端计算机C:\\ Myfiles中,如果在Myfiles中创建了任何文件夹,如A,B或在A-> A1中创建了任何子文件夹

然后,我将被告知此文件夹已创建,并将在WEB应用程序中创建。

同样,在联机服务器上创建的结构相同。 如果在线进行了任何更改(例如A-> A2中的Created子文件夹),则应在客户端计算机中创建相同的文件夹。

我相信System.IO中的FileSystemWatcher类应该可以满足您的要求。 您可以订阅事件以了解文件/目录的更改,然后通过诸如webservice之类的通信渠道将其同步到另一台计算机。

链接详细介绍了FileSystemWatcher的实现。

暂无
暂无

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

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