我使用的是Windows服务器上的.NET FileSystemWatcher的观看在Windows服务器上的文件夹。 我也有从使用Samba Linux服务器访问同一个文件夹中。 如果我从监视文件夹中的文件复制到其他地方,是为源文件生成的更改事件。 这种行为是正确的吗?这似乎是改变“上次访问的时间上的文件。我怎能无视这种类型的变化?

有帮助吗?

解决方案

在“上次访问”时间不一致的Windows程序设置:例如,在Windows中显示文件属性上下文菜单将重置这个时候。当你状态的Windows副本未设置“上次访问”时间,但文件的使用Samba在Windows服务器上的拷贝不会因为它是Samba的内部驱动做的副本。

您唯一的解决办法,总归是你的FileSystemWatcher的使用过滤器忽略“上次访问”时间:

FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = "c:\yourpathhere";
watcher.NotifyFilter = NotifyFilters.LastWrite 
   | NotifyFilters.FileName | NotifyFilters.DirectoryName;

或相似的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top