如何在服务器端代码更改后清除本地存储

时间:2013-03-22 19:11:34

标签: asp.net local-storage

在某些情况下,我一直在使用localStorage来为应用程序的用户保留一些信息。我使用有助于识别用户的密钥。

简单示例:

var key = localStorage.getItem("@Membership.GetUser().Username-SomeKey");

假设我想在客户端上保留此信息,但我希望在代码更改(即新版本)时将其删除。让我们假设代码更改可能会导致某些本地存储的值包含“坏”数据。

当有新版本时,擦除localStorage的简单方法是什么?

1 个答案:

答案 0 :(得分:2)

我会开始跟踪localStorage中程序集的内部版本号。然后,您可以在页面加载时检查localStorage版本是否与您的程序集版本匹配。如果没有,请调用localStorage.clear(),然后将新的内部版本号插入localStorage。

对伪代码的种类:

if (localStorage.getItem("AssemblyVersion") !== @GetAssemblyVersion) {
     localStorage.clear();
     localStorage.setItem("AssemblyVersion", @GetAssemblyVersion);
}

other questions演示如何获取程序集版本。您可以将其包装在Razor helper function中或将其添加到您的模型中。您需要做的就是确保每次构建时更改程序集版本。