ネットワーク共有からファイルを読み込むと、作成時刻が最後の書き込み時刻に更新されます。このため、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またはサーバー側であれば、私は考えています。誰にも洞察はありますか?
メモ帳で開いてみたところ、同じ問題が発生しました。だから私は.netはこの動作の可能なソースではないと思います。 – ctusch
どのようなサーバーですか?いくつかのファイルシステムは作成時間をサポートしていないことに注意してください。 –
これは正常ではありません。ネットワークリダイレクタで重大な問題が発生しています。サーバ側。 –