【发布时间】:2012-09-01 21:29:57
【问题描述】:
我正在寻找一种良好且稳定的方法来监控 NAS(作为共享挂载)上的文件更改(创建/删除/重命名等)。
我知道 .NET 提供了一个 FileSystemWatcher-Object,但我也听说它在远程存储设备上不可靠。
我正在考虑轮询远程设备并检查这些文件是否已更改(与以前收集的文件属性不同)。
编辑:具体要求:
- 监控 NAS 上目录的文件/文件夹更改(给定路径,可能还有某种过滤器)
- 记录更改:最好是在文件级别,说“文件-x 重命名/创建/删除”,但也可以在文件夹级别,说“文件夹-x 发生了变化”
- 能够运行外部可执行文件
- 在 WinServer 上作为 Windows 服务运行(不需要特定的 .NET 版本)
是否有任何常见的技术或最佳实践来解决这个问题?
编辑:如何唯一标识一个文件?
无法通过名称识别文件(因为它可以更改)。
但是是否可以像 Onkelborg 建议的那样使用最后修改/创建的时间戳(毫秒,以 64 位整数表示)来唯一标识文件?或者你有什么其他想法?
【问题讨论】:
标签: .net windows-services monitoring filesystemwatcher polling