Próbuję zapisać dwie listy obiektów w aplikacji ApplicationSettings, ale utknąłem w dziwnym zagadnieniu (ale prawdopodobnie to ja gdzieś popełniłem głupi błąd).ApplicationSettings nie jest poprawnie zapisany
Jeśli zapiszę tylko jedną z list, działa ona zgodnie z założeniem - zostanie zapisana i ponownie załadowana po następnym uruchomieniu aplikacji. Ale jeśli spróbuję zapisać 2 listy, żadna z nich nie wydaje się być poprawnie zapisana. Żadnych błędów ani niczego, tylko "pustka".
Zobacz kod poniżej.
//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];
}
}
Co robię źle? Jeśli skomentuję część o treści "list2", pierwsza zostanie zapisana/odtworzona idealnie.
A może powinienem dodać, że nie ma znaczenia, którą listę skomentuję. Wciąż sukces z jednym, ale z dwoma, nic nie jest zapisywane/odzyskiwane. –
Jakiej wersji pakietu SDK używasz? Nie mogę tego zaszkodzić na RC. –
Co się stanie, jeśli dodasz 'settings.Save()' pomiędzy dodawaniem. Możliwe, że serializacja drugiej listy jest zerwana i nie wywołuje 'save()' –