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