ASP.NET SessionState TimeOutが機能しない

SessionStateのタイムアウトが発生したときに私のWebページを閉じたい。これは私のウェブ設定のコードです:




テスト目的で1分に設定しました。以下は私のGlobal.asaxコードです:

protected void Session_End(object sender, EventArgs e)
{
    Response.Redirect("~/LogOut.aspx");
}

セッションのタイムアウトを確認するために、ページの1つにラベルを付けます。これはPage_Loadイベントのコードです:

lblSession.Text = "SESSION TIME: " + Session.Timeout.ToString();

私がサイトに入ってこのページに来ると、ラベルにセッション時間:1が表示されますが、1分後にはLogOutページにリダイレクトされず、現在のページはまだ完全にアクティブであり、動作しています終了しました。
私はVisual Studio
2008で開発サーバーを使って作業していますので、IIS設定に関連して見たような提案はこの段階では適切ではないようです。
助けてください!

ベストアンサー

HTTPは要求/応答プロトコルです。ブラウザとサーバーの間に持続的な接続はありませんがあります。
Session_End のコードは効果的に何もしません。ブラウザに何かをさせることはできません。

セッションタイムアウトが経過する前に(クライアント側の)JavaScriptタイマーを作成し、ログアウトページを積極的にロードする必要があります。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です