从墓碑返回时,IsolatedStorageSettings.ApplicationSettings中的数据就消失了。
任何建议或建议都将不胜感激。谢谢。
详细信息:
当我尝试将一个将字符串键映射到对象值的字典保存到IsolatedStorageSettings.ApplicationSettings中时,从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)是,如果这两行仍然被注释掉,当我从Tombstone返回时,IsolatedStorageSettings.ApplicationSettings.Count返回2(预期),并且Key1和Key2都存在。
但是,如果我取消对这两行的注释,在从tombstone返回时,IsolatedStorageSettings.ApplicationSettings.Count返回0,并且Key1、Key2或Key3都不在IsolatedStorageSettings.ApplicationSettings中。
预期:由于这两行未注释,从tombstone返回时,IsolatedStorageSettings.ApplicationSettings.Count将返回3,并且Key1、Key2和Key3将出现。
发布于 2011-08-01 02:40:40
序列化不适用于只读属性。
请参见实例this WCF question。
https://stackoverflow.com/questions/6891311
复制相似问题