.NET监视NAS上的文件操作



我正在寻找一种良好而稳定的方法来监控NAS(作为共享装载)上的文件更改(创建/删除/重命名等)。

我知道.NET提供了一个FileSystemWatcher-对象,但我也听说它在远程存储设备上不可靠。

我正在考虑轮询远程设备,并检查这些文件是否发生了更改(与以前收集的文件属性不同)。

编辑:具体要求:

  • 监视NAS上目录上的文件/文件夹更改(给定路径,可能还有某种筛选器)
  • 记录更改:最好是在文件级别,说"file-x已重命名/已创建/已删除",但也可以在文件夹级别上,说"folder-x中发生了更改"
  • 能够运行外部可执行文件
  • 在WinServer上作为Windows服务运行(不需要特定的.NET版本)

有什么通用的技术或最佳实践可以解决这个问题吗?

编辑:如何唯一识别文件

文件无法通过其名称进行识别(因为它可能会更改)。

但是,是否可以像Onkelborg建议的那样,用最后修改/创建的时间戳(毫秒,64位整数)唯一地识别文件?或者你还有其他想法吗?

您希望保持目录和文件的数量非常少-您需要遍历您感兴趣的每个目录,并获得每个文件的某种"标记"。你需要保留一个所有文件的列表及其"标签",以便进行比较。"标记"可以是"上次修改日期"或文件长度,也可以是两者。(我推荐"上次修改日期"。我不推荐文件长度。)

我认为你应该更具体一点,你的要求是什么?有什么特别的吗?如果没有,我写的就是你需要的:递归地构建一个树,等待,再次构建,比较,迭代。

相关内容

  • 没有找到相关文章

最新更新