我想将目录中的文件重命名为原子事务。该文件不会更改目录。该路径作为NTFS文件系统的UNC路径提供,可能在Server 03或08上。
File.Move()原子用于这些目的吗?如果它成功完成或失败,原始文件仍然完好无损?
我的直觉是,但我想确定。
答案 0 :(得分:21)
是的,在NTFS中。来自here:
另外,如果您在NTFS下运行,那么文件操作在文件系统级别是原子操作。就任何更高的代码而言,重命名将在单个操作中发生。您看到的问题几乎似乎是跨应用程序共享FileInfo对象的问题。它是MarshalByRef对象,因此可用于远程处理环境。不知道这是否适用于您。