2012-09-06 4 views
2

Win8 용 로컬 저장소에 쓰고 읽으려고합니다. 나는 성공적으로 내 컴퓨터에 쓸 수 있어요 도우미를 사용하지만, .XML 파일을 읽는 것은 나에게주는 : System.UnauthorizedAccessException 당신이 내 코드를 볼 수 있도록 내가 codepaste을 만들어가 mscorlib.dll 오류winrt - System.UnauthorizedAccessException

발생했습니다.

http://codepaste.net/k9mht5

이 코드는 여기에 실패 : 당신은 내가 잘못 뭐하는 거지에 어떤 아이디어가 있다면

using (IInputStream inStream = await _File.OpenSequentialReadAsync()) 

가 나를 도울 것이다 :이 라인에 특히

public async static Task<object> LoadData(string path, System.Type type) 
{ 
    var _Folder = Windows.Storage.ApplicationData.Current.LocalFolder; 

    try 
    { 
     var _File = await Folder.GetFileAsync(path); 

     using (IInputStream inStream = await _File.OpenSequentialReadAsync()) 

     { 
      // Deserialize the Session State 
      XmlSerializer x = new XmlSerializer(type); 
      return x.Deserialize(inStream.AsStreamForRead()); 
     } 
    } 
    catch (Exception ex) 
    { 
     MessageDialog dialog = new MessageDialog(ex.Message.ToString()); 
     dialog.ShowAsync();    
     return null; 
    } 
} 

많이.
릴리스 미리보기에서이 작업을 수행하고 있습니다. 필요한 다른 시스템 정보가 있으면 알려주십시오.

+0

당신은 실제로 * 사용 * _Folder 변수에 잊었 해결됩니다. –

답변

5

좋아, 여기 내가 알아 차 렸습니다. 파일 vehicleViewModel.csSaveList();GetList();을 차례로 호출합니다. 이 두 가지 방법은 모두 으로 표시되며 을 의미하고을 의미합니다. 내 생각에 SaveList 저장하려고하면 GetList 동시에한 파일을 읽으려고합니다. 난 당신의 코드를 시도하고 나도 같은 오류가있어. SaveList 및 GetList 방법 async Task하고 다음 await를 사용하여 변경하려고 : 나를 위해 속임수를 썼는지

await SaveList(); await GetList(); 

.

+0

1000 감사 Yous! 나는 오늘 밤 이것을 시험 할 것이다. 모든 계정에 의해 이것이 내가 필요한 대답 인 것처럼 보입니다. 나는 보통 Save와 Get을 가지고 있지 않았지만이 도우미 코드를 테스트하기 위해 먼저 데이터를 얻고 읽어야했습니다. 나는 이것을 오늘 밤 시도한 후에 대답으로 표시 할 것입니다! 다시 한 번 감사드립니다! – webdad3

0

사용은 디스패처가 문제

await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.High,() => { // Your UI update code goes here! _dialogService.ShowMessage(rdm.ErrorMessage); });

관련 문제