2011-08-03 23 views
5

ApplicationSettings uygulamasında iki nesne listesi kaydetmeye çalışıyorum ancak garip bir sorunla karşılaşıyorum (ama muhtemelen bir yerlerde saçma bir hata yapıyor).ApplicationSettings doğru şekilde kaydedilmedi

Listelerden yalnızca birini kaydedersem, varsayılan olarak çalışır - Onu kaydeder ve bir dahaki sefere uygulama başlatıldığında onu yeniden yükler. Ancak 2 listeyi kaydetmeye çalışırsam, bunların hiçbiri doğru kaydedilmiyor gibi görünüyor. Hata ya da bir şey yok, sadece "boşluk".

Aşağıya bakın.

//My save method 
public void Gem() 
     { 
      var settings = IsolatedStorageSettings.ApplicationSettings; 

      if (settings.Contains(INDTASTNINGER_LIST)) 
      { 
       settings[INDTASTNINGER_LIST] = _indtastningsListe; 
      } 
      else 
       settings.Add(INDTASTNINGER_LIST, _indtastningsListe); 

      if (settings.Contains(INDTASTNINGER_LIST2)) 
      { 
       settings[INDTASTNINGER_LIST2] = _indtastningsListe2; 
      } 
      else 
       settings.Add(INDTASTNINGER_LIST2, _indtastningsListe2); 
      settings.Save(); 
     } 

     //Constructor supposed to load settings 
     public Indtastninger() 
     { 
      var settings = IsolatedStorageSettings.ApplicationSettings; 

      if (settings.Contains(INDTASTNINGER_LIST)) 
      { 
       _indtastningsListe = null; 
       _indtastningsListe = (List<Indtastning>)settings[INDTASTNINGER_LIST]; 
      } 
      if (settings.Contains(INDTASTNINGER_LIST2)) 
      { 
       _indtastningsListe2 = null; 
       _indtastningsListe2 = (List<Indtastning>)settings[INDTASTNINGER_LIST2]; 
      } 
     } 

Neyi yanlış yapıyorum? Eğer parçayı "list2" ile yorumluyorsam, ilki mükemmel bir şekilde kaydedilecek/alınacak.

+0

Ve belki de ekleyeceğim hangi listeyi değiştirdiğimi eklemem. Biriyle hala başarı, ama iki ile, hiçbir şey kaydedilir/alınmaz. –

+0

SDK'nın hangi sürümünü kullanıyorsunuz? Bunu RC’de tekrarlayamıyorum. –

+0

Ekler arasında bir 'settings.Save()' eklerseniz ne olur? İkinci listenin serileştirilmesi kırılıyor ve 'kaydet()' –

cevap

2

Aynı sorunla bir süre önce karşılaştım, sorun yalnızca XML serializables olan IsolatedStorage nesnelerini kaydedebilmenizdir.

Başka bir nesneyi kaydederseniz, hata ayıklayıcısında bile çalışır, ancak uygulama yeniden başlatıldığında tüm kayıtlı veriler kaybolur.