Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我无法将.json文件读入wp8.1应用程序内存_C#_Json_Windows Phone 8 - Fatal编程技术网

C# 我无法将.json文件读入wp8.1应用程序内存

C# 我无法将.json文件读入wp8.1应用程序内存,c#,json,windows-phone-8,C#,Json,Windows Phone 8,在我的程序中,我试图使用一份员工名单,并将他们标记为被解雇。当然,这只是为了好玩。我可以让程序做任何我想做的事情,除了记住我已经做了什么。因此,我试图将列表保存在一个文件中,然后在程序启动时将该文件读回程序。不幸的是,当程序被迫关闭时,本应读取文件的同一函数会导致程序崩溃。我不知道我是否可以调试程序,因为我正在执行一项任务,关闭关闭调试器的程序,然后再次打开程序 这是我的函数,当单击开始按钮时,它将被等待 async private Task readJsonAsync() { var

在我的程序中,我试图使用一份员工名单,并将他们标记为被解雇。当然,这只是为了好玩。我可以让程序做任何我想做的事情,除了记住我已经做了什么。因此,我试图将列表保存在一个文件中,然后在程序启动时将该文件读回程序。不幸的是,当程序被迫关闭时,本应读取文件的同一函数会导致程序崩溃。我不知道我是否可以调试程序,因为我正在执行一项任务,关闭关闭调试器的程序,然后再次打开程序

这是我的函数,当单击开始按钮时,它将被等待

async private Task readJsonAsync()
{
    var jsonSerializer = new DataContractSerializer(typeof(List<Employee>));

    try
    {
        var myStream = await ApplicationDate.Current.LocalFolder.OpenStreamForReadAsync(JSONFILENAME);
        employees = (List<Employee>)jsonSerializer.ReadObject(myStream);
    }
    catch (FileNotFoundException ex)
    {
        employees = Employee.Initialize();
    }
}
当我保存列表时,它似乎起作用了。当我在模拟器上强制关闭后重新打开应用程序时,我发现程序“[3156]employeeTest05.exe”在我看到开始按钮之前已经退出,代码为-1073741819 0xc0000005“访问冲突”。当我在强制关闭后在设备上重新打开应用程序时,我可以进入该应用程序,但我无法开始使用该程序,因为该程序崩溃时屏幕上没有出现错误,并且调试器已关闭


我走错方向了吗?我关心Employee对象的属性是如何保存的,只关心它们是如何保存和检索的。

您需要的案例称为Tomestoning。您可以在此处阅读最佳实践: .

如果您想要一个通用的读写示例。请参考我关于将列表保存/加载为xml文档的回答。您可以修改它以使用JSON

private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
// TODO: call your save function
// PhoneApplicationService.Current.State["your_key"] = your_value;
}