每隔一段时间,StorageFiles 就会被锁定,并且在尝试覆盖它们时我会收到 UnauthorizedAccessException。我无法复制它,它只会随机发生。这是创建文件的代码:
using (var stream = new MemoryStream())
{
// ...populate stream with serialized data...
StorageFile file;
Stream fileStream;
try
{
file = await folder.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting);
}
catch (UnauthorizedAccessException ex)
{
Debug.WriteLine("Access denied on file {0}", fileName);
return;
}
fileStream = await file.OpenStreamForWriteAsync();
using (fileStream)
{
stream.Seek(0, SeekOrigin.Begin);
await stream.CopyToAsync(fileStream);
await fileStream.FlushAsync();
}
}
一旦文件开始抛出 UnauthorizedAccessException,它总是会抛出它。好像系统已锁定文件,我无法触摸它。我必须卸载应用程序并重建。
当我在文档中打开文件时,我可以在那里看到该数据。一切都很好。写得很成功。
谁能看到我的代码有问题?