我可以在Windows Phone 7中的隔离存储中保存联系人吗?以及如何在c#中访问它?哪个是使用linq to sql或Files或Values保存它的最佳方法?
答案 0 :(得分:1)
否否否,您甚至无法在隔离存储中保存“Microsoft.Phone.UserData.Contact”类型的一个联系对象。原因很简单:Contact对象是不可序列化的。 我自己试过这个并且没有用,当然。因此,您无法保存联系人列表。
我尝试了以下方案:创建了一个联系对象,将其保存在隔离的存储中,在应用程序运行时(仍然活着)从隔离的存储中读取它。结果:它工作并读取了我之前填写的所有数据。
BUT
当我关闭应用程序时,我试图检索联系人数据(我之前保存的联系对象)应用程序崩溃,调试器告诉我“KeyNotFoundException”,这意味着没有“联系人”存储在同一个“关键“我以前第一次存储”联系人“。
那么,为什么应用程序可以在关闭并重新打开该应用程序之前第一次读取存储的“联系人”?它是从存储器中的隔离存储对象读取而不是从手机上保存的存储对象。
答案 1 :(得分:0)
是的,您可以阅读联系信息(请参阅http://msdn.microsoft.com/en-us/library/hh286416(v=vs.92).aspx)并将其保存到隔离存储,方法与保存其他任何其他信息的方式相同。
保存它的“最佳”方式取决于您对它的处理方式以及您希望如何访问它。
请记住,您必须保持联系信息的副本与实际数据同步。除非你有充分的理由保留这份数据副本,否则我会避免这样做,只需在需要时查询实际的联系人数据存储。