我们的一位客户拥有一台2008R2 Datacenter Edition SP1文件服务器,并在访问这些文件的多台计算机上运行我们的应用程序.当文件存在(在文件服务器文件夹中)时,每隔20或30秒,每台机器打开(读取和写入),确定它无法处理,并立即再次关闭.完全独立的互锁机制可防止多个节点甚至尝试同时打开文件.
这在所有访问计算机都运行Server 2008R2时运行良好,即使服务器打开文件列表将文件显示为永久打开.但是,当Windows 2003计算机启动运行相同的应用程序和相同的互锁时,它始终无法打开具有共享冲突的文件,并且此计算机也无法删除该文件.关闭所有2008R2访问器会导致文件从文件服务器打开文件列表中消失,并允许Windows 2003计算机打开该文件并将其删除.但是,当访问者关闭时,PROCMON显示没有与文件联系.
就好像有一个私有代码,2008R2机器和服务器使用它来保持文件处于伪打开状态,而2003不知道,因此它认为该文件是真正开放的.它实际上不能永久打开,因为2008节点定期打开它.如果我的理论是正确的,我们的客户怎么能解决它?