2011-08-03 28 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.

İlgili konular