0

私はグーグルを検索し、セッションの有効期限をプログラムで検出するための多くの答えを見つけました。これは、誰もが使用しているのを見たコードです

global.asax
---------------
protected void Session_Start(object src, EventArgs e)
{
if (Context.Session != null && Context.Session.IsNewSession)
{
    string sCookieHeader = Request.Headers["Cookie"];
    if (null != sCookieHeader && sCookieHeader.IndexOf("ASP.NET_SessionId") >= 0)
        Response.Redirect("/Session/Timeout");
}
}

上記のコードについていくつか質問があります。2) この行の意味は何ですか?Request.Headers["Cookie"];

良い議論を探しています。ありがとう

4

2 に答える 2

1

Session_Endglobal.asaxファイルでメソッドを使用できます

void Session_End(Object sender, EventArgs E) {
    // Clean up session resources
}
于 2012-10-05T07:35:02.613 に答える
0

1) セッションの有効期限が切れると、Context.Session はどのように null にならないのでしょうか?

ユーザーが期限切れのセッションでサーバーに戻ったときに、コードがトリガーされます。このコードのセッション オブジェクトは、開始する新しい空のセッションです。Session_End ではなく、Session_Start にいることに注意してください。

2) この行 Request.Headers["Cookie"]; の意味は何ですか?

Cookie にはセッションの ID が含まれています。ユーザーがリソースを要求し、セッション ID を提供し、Session_start がトリガーされた場合、ほぼ確実に、セッション ID が期限切れのセッション オブジェクトを参照していることを意味します。次に、特定のメッセージがユーザーに表示されます。

于 2012-10-05T08:42:55.683 に答える