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 に答える