gpt4 book ai didi

.net - 从网络共享中读取文件会将其创建时间设置为其上次写入时间

转载 作者:可可西里 更新时间:2023-11-01 13:27:23 26 4
gpt4 key购买 nike

当我从网络共享中读取文件时,它会将创建时间更新为上次写入时间。这导致我出现 System.Configuration.Configuration 问题,因为它认为文件已更改并因此抛出异常(配置文件已被另一个程序更改。)。解决方法是事先手动将创建时间设置为最后一次写入时间。但我想知道这是否是一个已知问题。

这是一些测试代码:

    string filePath = @"X:\SomeFile.txt";
FileInfo fileInfo = new FileInfo(filePath);
DateTime creationTimeBeforeRead = fileInfo.CreationTimeUtc;
FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);
byte[] result = new byte[fileStream.Length];
fileStream.Read(result, 0, (int)fileStream.Length);
fileStream.Close();
fileInfo.Refresh();
DateTime creationTimeAfterRead = fileInfo.CreationTimeUtc;

我不知道问题出在 .net、Windows API 还是服务器端。有没有人有任何见解?

最佳答案

我知道这是一个老问题,但我在我的家庭 Linux 服务器(非常旧的 NAS 盒)上组织一些图像文件时遇到了它。文件创建时间是文件复制时间,我发现问题是由于 EXT3 Linux 文件格式不支持任何类型的共享(NFS 和 SAMBA)。将文件移动到 EXT4 和 XFS 文件系统格式解决了我的问题。

关于.net - 从网络共享中读取文件会将其创建时间设置为其上次写入时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15110076/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com