【问题标题】:.NET Monitoring file operations on a NAS.NET 监控 NAS 上的文件操作
【发布时间】:2012-09-01 21:29:57
【问题描述】:

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

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

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

编辑:具体要求:

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

是否有任何常见的技术或最佳实践来解决这个问题?

编辑:如何唯一标识一个文件?

无法通过名称识别文件(因为它可以更改)。

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

【问题讨论】:

    标签: .net windows-services monitoring filesystemwatcher polling


    【解决方案1】:

    您希望保持目录和文件的数量非常少 - 您需要遍历您感兴趣的每个目录,并为每个文件获取某种“标签”。您需要保留所有文件及其“标签”的列表,以便进行比较。 “标签”可以是“最后修改日期”或文件长度,或两者兼而有之。 (我推荐“最后修改日期”。我不推荐文件长度。)

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

    【讨论】:

    • 您好 onkelborg,感谢您的回答,我编辑了问题中的具体要求。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-15
    • 2018-04-30
    • 1970-01-01
    • 2012-05-22
    • 2016-02-21
    • 2010-09-14
    • 1970-01-01
    相关资源
    最近更新 更多