web*_*ad3 2 windows-8 windows-runtime
我正在尝试为Win8编写和读取本地存储.使用帮助器我能够成功写入我的机器,但读取.xml文件给我一个:mscorlib.dll错误中发生了System.UnauthorizedAccessException
我创建了一个codepaste,以便您可以看到我的代码.
代码在这里失败:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
特别是在这一行:
using (IInputStream inStream = await _File.OpenSequentialReadAsync())
Run Code Online (Sandbox Code Playgroud)
如果你对我做错了什么有任何想法,它会帮助我很多.
我在Release Preview中这样做.如果我需要提供任何其他系统信息,请告诉我.
好的,这是我注意到的.在文件中,vehicleViewModel.cs你打电话SaveList();,GetList();一个接一个.这两种方法都被声明为async void这意味着火灾和忘记.我的想法是,当SaveList试图保存时,GetList正在尝试同时读取一个文件.我尝试了你的代码,我也得到了同样的错误.尝试更改SaveList和GetList方法async Task,然后使用await:
await SaveList();
await GetList();
Run Code Online (Sandbox Code Playgroud)
这对我有用.
| 归档时间: |
|
| 查看次数: |
2402 次 |
| 最近记录: |