SessionStateタイムアウトが発生したときに私のWebページを閉じたい。これは私のウェブ設定のコードです:ASP.NET SessionState TimeOutが機能しない
<system.web>
<sessionState timeout="1" mode="InProc"/>
</system.web>
テスト目的で私は1分に設定しました。以下は、私のGlobal.asaxのコードです:
protected void Session_End(object sender, EventArgs e)
{
Response.Redirect("~/LogOut.aspx");
}
私は、これは、Page_Loadイベント内のコードで、セッションタイムアウトを確認するためのページのいずれかにラベルを置く:
lblSession.Text = "SESSION TIME: " + Session.Timeout.ToString();
私はサイトに入り、このページに来て、ラベルはセッション時間:1を示しますが、1分後に私はLogOutページにリダイレクトされず、現在のページはまだ完全にアクティブであり、動作しています。終了しました。 私はVisual Studio 2008で開発サーバーを使って作業していますので、IIS設定に関するこの記事はこの段階では適切ではないようです。 助けてください!
その時点でResponseがnullであるため、コードがクラッシュすることさえあります。 –
javaScriptタイマーの作成に助けてくれますか?ありがとうございました。 –
私はAJAXタイマーを使いました。 page_Loadでは、セッションのタイムアウト値をint変数に60000を掛けてミリ秒単位でタイムアウトさせた後、タイムアウトから2000ミリ秒を差し引いたタイムアウト値を設定して、セッションタイムアウトが少し前に発生するようにします。それは私がLogOutページにリダイレクトするTimer_Tickイベントを発生させます。それはうまく動作します。ありがとうございました! –