2012-09-21 3 views
3

가끔씩 StorageFiles가 잠기고 덮어 쓰려고 할 때 UnauthorizedAccessException이 발생합니다. 나는 이것을 복제 할 수 없다. 단지 무작위로 일어난다. 파일을 생성하는 코드입니다.파일을 대체하면 WinRT/Win8에서 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을 던지기 시작하면 항상 throw됩니다. 시스템에 파일이 잠겨져있는 것처럼 나는 그것을 만질 수 없습니다. 응용 프로그램을 제거하고 다시 작성해야합니다.

내 문서에서 파일을 열면 해당 데이터가 표시됩니다. 모든 것이 좋습니다. 그것은 성공적으로 기록되었습니다.

누구든지 내 코드에 문제가있을 수 있습니까?

+1

Windows 8.1에서 내 응용 프로그램과 동일한 효과가 나타납니다. 파일 바꾸기가 임의로 실패합니다. –

+0

같은 상황이 여기에 있습니다. 하나는 데이터를 통해 선별하는 동안 모든 장치에 영향을 미치지 않는다는 것을 발견했다고 생각합니다. 내 사용자 층 전체에서이 오류는 3-5 %의 기기에서만 발생합니다. –

답변

1

그것은 사건을 수 있습니다.

관련 문제