我正在写一个WP7(Mango)应用程序。
我将值存储在WP7 IsolatedStorageSettings.ApplicationSettings中,然后我调用IsolatedStorageSettings.ApplicationSettings.Save();
如果我按回去,离开屏幕,然后我回来,我可以很好地读取数值。 但是,如果我在调试器中按重启(或者只是从模拟器重新启动),ApplicationSettings将抛出 KeyNotFoundException ,就像它没有持久 ... 我还没有在设备上试过它,我现在还没有可用的。
我可能做错什么?
答案 0 :(得分:7)
事实证明问题并非出现在模拟器中所有,所以每个人都认为这是“模拟器中的”设计“结果是错误的(但我无法撤消我的赞成他们被锁定了。)
问题在于我试图持久化不可序列化的类,并且wp7通过在下一个Save()
丢弃所有设置来处理此问题。当我删除那个单独的Add()(或者更精确地用JSON.net序列化该对象(可以处理它)并保留json字符串时)我的所有问题都消失了。
仍然是wp7的荒谬行为。
答案 1 :(得分:1)
此行为在模拟器上是“按设计”。
我建议,下面是代码的步骤。 1.检查密钥是否可用 2.如果没有,则将默认值设置为它。
答案 2 :(得分:1)
检查问题:Automatic login process in Windows Phone 7.1 application
答案 3 :(得分:0)
我收到了同样的错误(错误发生是因为停止调试器密钥被删除后),我发布了一个问题:Automatic login process in Windows Phone 7.1 application。建议您使用网站设置而不是应用程序设置。还有一个选择:http://www.codeguru.com/csharp/.net/wp7/article.php/c19215/Using-Isolated-Storage-for-your-Windows-Phone-7-WP7-App.htm。希望它能解决你的问题。