在我的Windows Phone应用程序( silverlight应用程序)中,我希望用户在成功登录后自动登录到应用程序。我不希望用户每次都登录。
我通过隔离存储文件概念实现了这一目标。我首先创造了 一个目录,我创建了一个隔离的存储文件流,并将电子邮件和密码凭据存储在某个文件中 当我停止调试并重新启动时,我的流阅读器会从该文件成功读取电子邮件密码凭据。
我的问题是当我关闭我的模拟器并将其打开时我无法从该文件中读取。(特别是,目录本身不存在!)。我也想知道我的隔离存储坚持真正的Windows手机?
我该如何解决这个问题?
答案 0 :(得分:2)
这是使用模拟器的一个缺点 - 它在真正的手机上不是问题。
请参阅http://msdn.microsoft.com/en-us/library/ff402563%28v=vs.92%29.aspx
重要说明:仿真器可以使用隔离存储 运行。隔离存储中的数据在仿真器后不会保留 关闭。这包括存储在本地数据库中的文件,如这些文件 住在隔离存储中。
答案 1 :(得分:2)
这是设计的。
关闭后,仿真器中的隔离存储不会保留。
参考: Windows Phone Emulator 向下滚动到“功能”:
Important Note:
Isolated storage is available while the emulator is running. Data in isolated storage does not persist after the emulator closes. This includes files stored in a local database, as these files reside in isolated storage.
答案 2 :(得分:1)
你无能为力。当您关闭并重新打开模拟器时,您将从“设备”中擦除所有数据(应用程序,隔离的存储内容,批次),然后从已知状态重新开始。其中一个原因是允许开发人员进入设备的“已知良好”状态,以便每次重新启动时都可以在模拟器上从头开始测试。
如果您想在启动应用程序之间保留数据,您唯一的选择是不要在运行之间关闭模拟器。
答案 3 :(得分:0)
您还可以使用IsolatedStorageSettings.ApplicationSettings
来存储用户的凭据,而不必写入文件:
http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage.isolatedstoragesettings.applicationsettings%28v=vs.95%29.aspx
正如其他人所说,在模拟器中,这些设置仅在模拟器本身运行时持续存在。请注意,您不必在每个调试会话之间关闭模拟器。您可以按模拟器上的主页按钮来测试移入和移出应用程序。
答案 4 :(得分:0)
您可以使用Isolated Storage Explorer工具拍摄应用程序隔离存储的快照(例如,其中包含一些默认数据),然后在重新启动模拟器后使用该快照来反转隔离的存储内容。
您可以在msdn上找到有关ISETool和How to: Use the Isolated Storage Explorer Tool article上的“如何”的更多信息。