 |
[ 1 ]
サーバから最初にロードするCRS
(menu.crs)に、アプリケーションのバージョン番号を記述しておきます。
また、バージョン管理用のCRS
(version.crs)を用意します。
このCRSは、menu.crsと同じバージョン番号をもつためだけのCRSです。
それぞれのCRSは一度読み込み、キャッシュが作成されている状態とします。
詳しくは後述しますが、menu.crsのキャッシュは作成されないようにします。
|
 |
[ 2 ]
サーバ上のCRSを更新した際は、menu.crsと、version.crsの2箇所のバージョン番号を変更するようにします。
キャッシュとサーバ上のCRSのバージョンが一致しない状態となりました。
|
 |
[ 3 ]
menu.crsはLoginメソッドでロードします。
Loginメソッドはキャッシュを作成せず、必ずサーバから最新のCRSをロードします。
このmenu.crsにキャッシュ削除処理を記述しています。
|
 |
[ 4 ]
menu.crsが読み込まれ、キャッシュ削除処理が開始されます。
はじめに、version.crsをGetメソッドでロードします。
Getメソッドはキャッシュがあればキャッシュから、キャッシュが無ければサーバからCRSをロードします。
ここではキャッシュされているCRSから取得したので、バージョンは古いままです。
|
 |
[ 5 ]
menu.crsとversion.crsのバージョンを比較し、違う場合キャッシュを全て削除します。
|
 |
[ 6 ]
version.crsを再度Getメソッドでロードし、最新のバージョンのキャッシュを取得しておきます。
|