Win 8 LocalStorage 设置未保存
Posted
技术标签:
【中文标题】Win 8 LocalStorage 设置未保存【英文标题】:Win 8 LocalStorage settings not saved 【发布时间】:2013-06-26 11:14:53 【问题描述】:ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;
localSettings.Values["stupidcrap"] = "test1";
然后在 Visual Studio 中重新启动应用程序后:
ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;
Debug.WriteLine(localSettings.Values["stupidcrap"]);
它什么也不打印(这意味着 Object 为空)。
为什么会这样?
当我这样做时:
ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;
localSettings.Values["stupidcrap"] = "test1";
Debug.WriteLine(localSettings.Values["stupidcrap"]);
它打印成功,但存储点是重新启动应用程序后保存的值可用....
为什么内存/存储/其他没有保存我的值?
【问题讨论】:
【参考方案1】:当你想添加一个值时,你必须调用localSettings.Values.Add("key", "test1")
我使用以下类作为设置助手:
public class StorageSettingsApplication
public StorageSettingsApplication()
try
localSettings = ApplicationData.Current.LocalSettings;
catch (Exception)
ApplicationDataContainer localSettings;
publicTValue TryGetValueWithDefault<TValue>(string key, TValue defaultvalue)
TValue value;
// If the key exists, retrieve the value.
if (localSettings.Values.ContainsKey(key))
value = (TValue)localSettings.Values[key];
// Otherwise, use the default value.
else
value = defaultvalue;
return value;
public bool AddOrUpdateValue(string key, object value)
bool valueChanged = false;
// If the key exists
//if (localSettings.Contains(Key))
if (localSettings.Values.ContainsKey(key))
// If the value has changed
if (localSettings.Values[key] != value)
// Store the new value
localSettings.Values[key] = value;
valueChanged = true;
// Otherwise create the key.
else
localSettings.Values.Add(key, value);
valueChanged = true;
return valueChanged;
【讨论】:
谢谢你的作品。奇怪的是,在 MSDN 的教程中,它说只需通过 localSettings.Values["asd"] = value; 我在这个确切的问题上浪费了我的生命,并在 MSDN 网页上留下了反馈,要求他们使用 localSettings.Values.Add(key, value) 行更新页面示例。跨度> 在我的情况下它仍然没有保存设置 @user3149172 你确定吗?确保在调试时不要强制关闭应用程序,强制关闭将丢弃所有更改。此代码在我的 6 个应用程序(Windows 8.1 和 Windows Phone)中完美运行 这是什么意思?我设置了密钥,然后在 VS 中设置了“暂停和关闭”。当我下次运行应用程序时,没有任何键。以上是关于Win 8 LocalStorage 设置未保存的主要内容,如果未能解决你的问题,请参考以下文章
使用 WKWebView 时,localStorage 未保存在 iFrame 中
JavaScript 学习-49.localStorage前端保存数据
JavaScript 学习-49.localStorage前端保存数据
vue 中使用vuex和localStorage保存登录状态