我使用独立存储获得了一些意外的行为。在这种情况下,我使用它来维护墓碑的目的。使用独立存储在WP7上发生意外的行为
这是一个火腿收音机许可考试练习应用程序。这是发生了什么。当应用程序第一次运行时,用户在MainPage上,并选择两个链接中的一个,即OptionPage1或OptionPage2(它们的工作方式相似,因此我只关注其中一个)。在OptionsPage1上,用户从多个选项中进行选择,然后单击Launch按钮进入ExamPage,用户在这里回答问题。完成考试后,用户转到ScorePage查看分数。完成此操作后,其中一个选项是单击一个按钮返回到MainPage。
每次用户选择某个操作时,隔离存储中的文件都将使用静态方法在独立存储处理类库中进行更新。我观察到一个非常奇怪的行为。当用户点击返回到MainPage时ScorePage保存其状态时,它将位置存储为“MainPage”,因为这是用户将在下一毫秒中的位置。但是,当MainPage读取由ScorePage保存的独立存储文件时,它不具有ScorePage保存的相同内容!它有由OptionPage1保存的内容!我知道ScorePage正确保存信息,因为我在保存后立即尝试读取它,并且确定。
它几乎看起来可能有不同版本的文件被创建和更新。但这没有意义。每个页面使用完全相同的静态方法来保存和更新独立的存储文件,并且只有一个文件夹和文件名。我很困惑。
如果不能看到代码,将很难说出可能发生的事情。您可以发布您的帮助器方法,并演示它们在应用的不同页面中的使用方式。 – 2011-04-27 07:33:58
这可能是一种竞争条件吗?你是否异步保存? – PhilChuang 2011-04-27 14:50:49