我们正在使用FileSystemwatcher查找目录中的某些文件,并且有时会出现故障。我们已经处理了文件系统观察者的错误事件,并按照问题中提到的那样优雅地重新启动了观察者 - > FileSystemWatcher stops catching events
但有几次,服务器的网络连接已经关闭,错误事件从未引发过。因此,我们使用一种小方法使用
每3秒轮询一次目录if(!Directory.Exists(NetWorkPath)){
Logger.Log("Error! The directory doesn't exist");
}
这似乎是FSW正确触发Error事件。
问题 -
注意:我们根据这些文章提供了当前的解决方案 -
答案 0 :(得分:1)
在网络驱动器上使用FileSystemWatcher(我假设这是你正在做的事情,鉴于网络连接提及)充其量是一个冒险的主张。即使使用SAN和本地驱动器,如果正在创建/删除的文件量足够高并且在常规网络驱动器上,事件也会丢失,因此更不可靠。
实施看似粗糙的民意调查解决方案将是一种更可靠的解决方案。