Ich habe das folgende seltsame Verhalten in meinem Windows Phone 8, C# App.Windows Phone 8, Anwendungseinstellungen nicht beibehalten
Ich spare eine Einstellung mit:
private void SaveProperty<T>(T property, string propertyName)
{
if (IsolatedStorageSettings.ApplicationSettings.Contains(propertyName))
IsolatedStorageSettings.ApplicationSettings[propertyName] = property;
else
IsolatedStorageSettings.ApplicationSettings.Add(propertyName, property);
IsolatedStorageSettings.ApplicationSettings.Save();
}
Wenn die App läuft, habe ich alle Einstellungen, die ich in IsolatedStorageSettings.ApplicationSettings
gespeichert lesen kann.
Aber wenn ich meine App wieder öffne (öffnen Sie es aus der App-Liste), enthält das IsolatedStorageSettings.ApplicationSettings
-Dictionary Null (0
) Schlüssel und Werte.
Fehle ich etwas?
Ich habe die ISETool.exe verwendet, um Schnappschüsse von der IsolatedStorage meiner App (dank Chepen) zu machen. Ich sah dieses Verhalten: als ich die Einstellungen schrieb (das heißt, nachdem die SaveProperty<T>()
Funktion beendet), und die App noch läuft, habe ich die Einstellungen in _ApplicationSettings
gespeichert. Dies stimmt mit meiner Beobachtung überein, dass ich von der IsolatedStorageSettings.ApplicationSettings
lesen kann, wenn die App läuft. Die _ApplicationSettings
-Datei existiert auch, wenn die Datei versteinert ist oder nicht läuft (wenn ich auf sie zugreifen kann, indem ich die Zurück-Taste des Telefons und halte, wenn die App mit der Zurück-Taste geschlossen wird).
Aber wenn der App wieder geöffnet wird (über die App-Liste), die _ApplicationSettings
-datei ist weg ...
Ich sehe auch, dass, wenn ich eine Datei in die IsolatedStorage
mit dem Schreiben:
SharedStorageAccessManager.CopySharedFileAsync(
Windows.Storage.ApplicationData.Current.LocalFolder, fileName+"orig",
Windows.Storage.NameCollisionOption.ReplaceExisting, fileID);
und wenn ich dann diese Datei nicht lese, ist es verschwunden, wenn ich die App das nächste Mal öffne.
Übrigens, um Verwirrung zu vermeiden: Ich bin nicht Neuinstallation der App jedes Mal, wenn ich es öffne.
Wenn Sie weitere Informationen benötigen, fragen Sie bitte.
Jede Hilfe wird geschätzt.
verwenden Sie Emulator oder ein Gerät? Wenn Sie einen Emulator verwenden, verlassen Sie die Anwendung, indem Sie die Visual Studio-Debugsitzung oder die Schaltfläche "Zurück" im Emulator anhalten? –
Nach der 'Save()' Methode, schauen Sie (mit Isolated Storage Explorer), welche Dateien in Ihrem App-isolierten Speicher vorhanden sind. – Chepene
@Beytan Kurt: Ich benutze ein Gerät, aber ich habe auch den Emulator überprüft: das gleiche Verhalten. Ich verlasse die App nicht direkt, anstatt sie erneut zu öffnen, indem ich sie aus der App-Liste öffne. –