バイト配列をファイルに書き込むプロセスがあります(StorageFile
)。プロセスは定期的に実行され、同時に別のプロセスでファイルの先頭から読み取る必要があります。2つのプロセスは異なるクラスにあります。ファイルの読み取りを開始すると、書き込み操作が失敗し、アクセス拒否エラーが発生します。
ここで、ファイルはStorageFile
appフォルダー内にあります。
writeメソッドは以下を呼び出します。
IRandomAccessStream randomStream = await targetFile.OpenAsync(FileAccessMode.ReadWrite);
Stream stream = randomStream.AsStreamForWrite();
readメソッドは以下を呼び出します。
IRandomAccessStream randomStream = await targetFile.OpenAsync(FileAccessMode.Read);
Stream stream = randomStream.AsStreamForRead();
両方の操作が異なるメソッドから同時に実行され、アクセス拒否エラーが発生します。書き込み用に開いている間、同じメソッド内で読み取り/書き込みを使用できるようです。しかし、さまざまな方法からそれを行う方法は??
System.IO.FileShare
このファイルは同じアプリ内の別の場所からアクセスする必要があると明示的に言えるように、以前と同様のものがありますか?