我的 Windows phone 8 C# App 中有以下奇怪的行为。
我正在保存一个设置:
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();
}
当应用程序运行时,我可以读取存储在IsolatedStorageSettings.ApplicationSettings
.
但是当我重新打开我的应用程序(从应用程序列表中打开它)时,IsolatedStorageSettings.ApplicationSettings
-Dictionary 包含零(0
)键和值。
我错过了什么吗?
我使用 ISETool.exe 为我的应用程序的 IsolatedStorage 拍摄快照(感谢 chepene)。我看到了这种行为:当我编写设置时(这意味着SaveProperty<T>()
功能完成后),并且应用程序仍在运行,我将设置保存在_ApplicationSettings
. 这与我可以从IsolatedStorageSettings.ApplicationSettings
应用程序运行时读取的观察结果一致。_ApplicationSettings
当被墓碑或未运行时(当我可以通过按住手机的后退按钮以及使用后退按钮关闭应用程序时),该文件也存在。
但是当应用程序再次打开时(通过应用程序列表),_ApplicationSettings
-file 消失了......
我还看到,当我将文件写入IsolatedStorage
with 时:
SharedStorageAccessManager.CopySharedFileAsync(
Windows.Storage.ApplicationData.Current.LocalFolder, fileName+"orig",
Windows.Storage.NameCollisionOption.ReplaceExisting, fileID);
然后当我不读取此文件时,下次打开应用程序时它就消失了。
顺便说一句,为避免混淆:我不会在每次打开应用程序时都重新安装它。
如果您需要更多信息,请询问。
任何帮助表示赞赏。