我们的处理平台包含大量机器,其中大量应用程序在本地创建文件并将它们复制到 Isilon NAS。它还包含在单独的计算机上的单个使用者,从 Isilon NAS 读取这些文件。间歇性地,50000 个中的 1 个,消费者将抛出访问冲突,声明“文件被另一个应用程序锁定”。对 NAS 的写入在 100% 的时间内成功完成。
编写器和 NAS 之间的唯一连接点是对 File.Copy(localfile, "\\naslocation\destfilename") 的以下调用。如果消费者重试读取文件,则每次都成功。
File.Copy 不可靠吗?意思是,在 File.Copy 返回给调用者之后,目标文件可能对另一个进程不可用?Windows 是否在写入远程共享时执行缓冲,从而导致 File.Copy 的返回与被检测为被不同计算机上的不同应用程序锁定的文件之间存在延迟?
提前致谢。