来自isolatedstoragessettings的数据.ApplicationSettings在从墓碑返回时消失
本文关键字:墓碑 返回 消失 isolatedstoragessettings 数据 ApplicationSettings 来自 | 更新日期: 2023-09-27 18:04:09
从Tombstone返回时,isolatedstoragessettings中的数据。ApplicationSettings已删除
如有任何意见或建议,我将不胜感激。谢谢。细节:
当我尝试保存到isolatedstoragessettings时。ApplicationSettings一个将STRING键映射到OBJECT值的字典,从tombstone返回后,来自隔离存储的所有值都消失了。如果我不尝试保存该字典,那么从Tombstone返回时就不会出现问题。
代码如下:
[DataContract]
[KnownType(typeof(TestClass))]
public class TestClass
{
[DataMember]
public string Property1 { get; private set; }
public TestClass(string prop1)
{
Property1 = prop1;
}
}
public static void AddValuesToIsolatedStorage()
{
IsolatedStorageSettings.ApplicationSettings["Key1"] = 1234;
IsolatedStorageSettings.ApplicationSettings["Key2"] = "abcd";
Dictionary<string, object> dict = new Dictionary<string, object>();
dict.Add("the key", new TestClass("a"));
// IsolatedStorageSettings.ApplicationSettings["Key3"] = dict;
// IsolatedStorageSettings.ApplicationSettings.Save();
}
我观察到的(无论是在模拟器上还是在我的手机上- HTC HD7)是,如果2行仍然被注释掉,当我从Tombstone返回时,isolatedstoragessettings . applicationsettings . count返回2(预期),并且Key1和Key2都存在。
但是,如果我取消注释这两行,在从tombstone返回时,isolatedstoragessettings . applicationsettings . count返回0,并且Key1、Key2和Key3都不在isolatedstoragessettings . applicationsettings中。
预期:由于这两行没有注释,当从tombstone返回时,isolatedstoragessettings . applicationsettings . count将返回3,并且Key1, Key2和Key3将出现
序列化不支持只读属性。
参见这个WCF问题。