保存联系人在隔离存储在windows phone 7 c#
本文关键字:phone windows 存储 联系人 隔离 保存 | 更新日期: 2023-09-27 18:10:22
Windows phone 7可以将联系人保存在隔离存储中吗?我如何在c#中访问它?使用linq to sql或Files or Values保存它的最好方法是什么?
不不不,你甚至不能保存一个类型为"Microsoft.Phone.UserData "的联系人对象。隔离存储中的"联系人"。原因很简单:联系人对象是不可序列化的。我自己试过这个,没有工作,肯定的。因此,您无法保存联系人列表。
细节:
我尝试了以下场景:创建了一个联系人对象,将其保存在隔离存储中,当应用程序正在运行(仍然存活)时从隔离存储中读取它。结果:它工作并读取了我之前填充的所有数据。
,
当我关闭应用程序时,我试图检索联系人数据(我以前保存的联系人对象),那里的应用程序崩溃,调试器告诉我"KeyNotFoundException",这意味着没有"联系人"存储在所有相同的"键",我用来存储"联系人"在第一次。
那么,为什么应用程序可以在关闭和重新打开该应用程序之前第一时间读取存储的"联系人"?它是从内存中孤立的存储对象读取的,而不是从保存在手机上的存储对象。
是的,您可以阅读联系人信息(参见http://msdn.microsoft.com/en-us/library/hh286416(v=vs.92).aspx)并将其保存到隔离存储中,就像您可以在那里保存任何其他内容一样。
保存它的"最佳"方式取决于你想用它做什么以及你想如何访问它。
记住,你必须保持你的联系信息的副本与实际数据同步。除非你有很好的理由保留这个数据副本,否则我会避免这样做,只在需要时查询实际的联系人数据存储