2011-07-31 12 views
1

墓石から戻ると、IsolatedStorageSettings.ApplicationSettingsのデータはなくなりました。IsolatedStorageSettings.ApplicationSettingsからのデータは、墓石からの復帰時に消えます。

ご意見やご提案をいただければ幸いです。ありがとう。

詳細:

私はIsolatedStorageSettings.ApplicationSettingsに値をオブジェクトに文字列キーをマップする辞書を保存しようと、墓石から戻った後、分離ストレージからすべての値がなくなっています。その辞書を保存しようとしなければ、トゥームストーンから戻るときに問題はありません。ここで

コードです:(エミュレータ上と自分の携帯電話の両方で - HTC HD7)

[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(); 
} 

私が観察し、何が2行は、私は墓石、IsolatedStorageSettingsから戻ったとき、コメントアウト残っている場合ということです。 ApplicationSettings.Countは2(expected)を返し、Key1とKey2の両方が存在します。

ただし、2つの行のコメントを外すと、墓石から戻ったときにIsolatedStorageSettings.ApplicationSettings.Countは0を返し、Key1もKey2もKey3もIsolatedStorageSettings.ApplicationSettingsにはありません。

期待されています:2つの行のコメントを外して、墓石から戻ると、IsolatedStorageSettings.ApplicationSettings.Countは3を返し、Key1、Key2、およびKey3が存在します。

答えて

1

シリアル化は読み取り専用プロパティでは機能しません。

たとえばthis WCF questionを参照してください。

関連する問題