我想一些信息保存到一個文件中ApplicationData.Current.LocalFolder這樣:未經授權的訪問異常8.1
private async Task WriteRecentScores(List<ScoreRecord> list)
{
try
{
var serializer = new DataContractJsonSerializer(typeof(List<ScoreRecord>));
using (var stream = await ApplicationData.Current.LocalFolder.OpenStreamForWriteAsync(
RECENTSCOREFILE,
CreationCollisionOption.ReplaceExisting))
{
serializer.WriteObject(stream, list);
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
Debug.WriteLine(ex.StackTrace);
}
}
,但是在到達OpenStreamForWriteAsync當我得到一個未經授權的訪問異常。
RECENTSCOREFILE =「score.json」是啓動應用程序的第一次(我使用的是FailIfExists選項)時創建一個文件,下面的代碼
private async void CreateFile()
{
try
{
StorageFolder folder = ApplicationData.Current.LocalFolder;
StorageFile file = await folder.CreateFileAsync(RECENTSCOREFILE, CreationCollisionOption.FailIfExists);
}
catch (Exception) { }
return;
}
有趣的是,我試圖在模擬器和手機中啓動應用程序,似乎只有在手機上運行時纔會引發異常。
編輯:我想,它只有在我第一次使用與文件(創建文件不需要,因爲它似乎)的作品,但我怎麼能解決這個問題?
你在使用其他地方的文件? - 例如閱讀比分?也許前一個流尚未處理。 – Romasz
是的,我正在從我的應用程序的另一個頁面讀取相同的文件,但我無法分辨爲什麼它只在模擬器中工作 – leqo
您找到了解決方案嗎? – yalematta