Windows 8 中通过网络共享的文件莫名其妙地被锁定

Windows 8 中通过网络共享的文件莫名其妙地被锁定

我有一个应用程序(Win 32 位),它通过每秒写入大约 100 KB 的数据文件,使其他网络计算机可以使用不断变化的数据集。其他 PC 每秒读取一次相同的文件,以访问和显示远程位置的数据。预计会发生冲突,并且会不时发生,可通过以适当的模式打开文件来处理。如果任何给定的从属计算机由于正在写入而无法打开文件,则不会因拒绝访问而导致任何后果 - 它只需在下一次访问时获取它即可。

该系统在 WinXP 下运行几年都没有问题,但刚刚安装在 Windows 8 网络上却表现不佳。

经过一段时间(通常是几个小时,有时是几天)后,“主”PC 会停止更新文件(每次访问都会返回)The process cannot access the file because it is being used by another process,因此从属设备从那时起看到的就是“冻结”的数据。但这种情况是永久性的,唯一的处理方法是退出主应用程序并重新启动主 PC - 仅退出主应用程序不会释放文件。

有谁能指出造成这种情况的原因吗?

SysInternals ProcessExplorer 有帮助吗(使用“查找句柄”功能)?

最后要说明的是:用于提供信息的数据文件恰好以扩展名命名MSI。Windows 8 是否可以引入一些“保姆”功能来阻止应用程序引用它认为可能是 MSI 安装程序映像的内容?我在这里无计可施。我当然打算尝试其他扩展,但由于它是 24-7-365 系统的一部分,因此访问系统很困难,所以我想在那之前收集尽可能多的知识。

相关内容