从Tombstone返回时,IsolatedStorageSettings.ApplicationSettings中的数据消失了。
非常感谢任何建议或建议。感谢。
详细信息:
当我尝试保存到IsolatedStorageSettings.ApplicationSettings一个将STRING键映射到OBJECT值的字典时,从逻辑删除返回后,隔离存储中的所有值都消失了。如果我不尝试保存该字典,从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返回时,IsolatedStorageSettings.ApplicationSettings.Count返回2(预期),以及Key1和Key2存在。
但是,如果我取消注释这两行,从逻辑删除返回后,IsolatedStorageSettings.ApplicationSettings.Count将返回0,并且Key1,Key2和Key3都不在IsolatedStorageSettings.ApplicationSettings中。
预期:取消注释两行后,从逻辑删除返回时,IsolatedStorageSettings.ApplicationSettings.Count将返回3,并且Key1,Key2和Key3将出现。