我们搜索可靠的可能性,以便在其他应用程序修改文件时收到通知。
.NET FileSystemWatcher类和ReadDirectoryChangesW()函数都会遇到这样的问题:即使其他应用程序尚未完成编写,它们也会生成事件。
在Linux下,inotify提供了一个IN_CLOSE_WRITE事件 - 文件在打开后写入时已关闭。
有没有办法在Windows上获取该信息?
[编辑澄清:] 我主要感兴趣的是作家完成其工作,而不是独家访问/锁定问题。我想避免轮询/重复尝试和捕获异常之类的解决方案,因为这些通常是一种糟糕的编程风格,基于事件的编程更适合节能。
谢谢, 马库斯