3

時々、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のスローを開始すると、常にファイルがスローされます。システムがファイルをロックしていて、それに触れることができないかのように。アプリケーションをアンインストールして再構築する必要があります。

ドキュメント内のファイルを開くと、そこにそのデータが表示されます。すべて順調。正常に書き込まれました。

誰かが私のコードの問題を見ることができますか?

4

2 に答える 2

1

将来のアクセス リストにファイル トークンを保存していますか? ファイルをロードして後で更新を保存しようとしたときに、この問題に遭遇しました。将来のアクセス リストを使い始めると、問題はなくなりました。

http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.accesscache.storageitemaccesslist

于 2012-10-04T20:30:23.290 に答える