ページがロードされたときにページのデータベースからのルックアップのリストを保持するようにセッション変数を設定するページがあります。
また、ブラウザからAjax呼び出しが行われる場合、ページはルックアップのリストにアクセスする必要があります。
Ajax呼び出しごとにデータベースからルックアップのリストをロードしたくないのですが、ユーザーがページを離れた場合にセッションからルックアップのリストを削除したいと思います。これを行うためのベストプラクティスまたは推奨される戦略はありますか?
ページがロードされたときにページのデータベースからのルックアップのリストを保持するようにセッション変数を設定するページがあります。
また、ブラウザからAjax呼び出しが行われる場合、ページはルックアップのリストにアクセスする必要があります。
Ajax呼び出しごとにデータベースからルックアップのリストをロードしたくないのですが、ユーザーがページを離れた場合にセッションからルックアップのリストを削除したいと思います。これを行うためのベストプラクティスまたは推奨される戦略はありますか?
このようなものを使用して、javascriptでセッション変数をクリアできます
window.onbeforeunload = cleanup;
function cleanup()
{
// Clear session variable here
}
ただし、ユーザーはいつでもjavascriptなどを無効にできるため、これは絶対確実ではありません。セッション変数にはとにかくタイムアウトがあるため、通常、これは問題にはなりません。本当に心配な場合は、ページの読み込み時に現在のセッションをすべて削除する必要があります。
状況に応じて、別のオプションは、Caching.Cache
クラスを使用して値を保持することです。値をキャッシュに挿入するときは、値が。の後に期限切れになるようにTimeSpan
設定し、5分程度などのかなり短い時間に設定することができます。
セッションはユーザーごとに行われますが、サーバーインスタンスごとに1つのキャッシュしかないことに注意してください。