2

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

简单的例子:

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

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

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

4

1 回答 1

2

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

对它的一种伪代码:

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

还有其他问题演示了如何获取程序集版本。您可以将其包装在Razor 辅助函数中或将其添加到您的模型中。从那里您需要做的就是确保您的程序集版本在每次构建时都发生变化。

于 2013-03-22T19:18:55.013 回答