8

セッション変数に値を格納する場合

    Session["Int"] = 100;

Session_Endイベントではどうなりますか?nullまたは100になりますか?

void Session_End(object sender, EventArgs e)
{
      object objInt = Session["Int"];          // Null or 100 ?
}

つまり、Session_Endは、セッション内のすべてを破棄した後、または直前に起動しますか?

4

2 に答える 2

12

100です。

自分でテストするには、ASP.NETアプリケーションファイルglobal.asaxをプロジェクトに追加し、Session_Start終了Session-Endイベントを処理するだけです。

void Session_Start(object sender, EventArgs e)
{
   Session["Int"] = 100;          // 100
}

void Session_End(object sender, EventArgs e)
{
    object objInt = Session["Int"];  // it is still 100 here
}

セッションは、Session.Abandon()(または期限切れになると)終了できます。

protected void Page_Load(object sender, EventArgs e)
{
    Session.Abandon();  // after this Session.End is called
}
于 2012-09-06T07:06:26.073 に答える
0

Session ["Int"]が100になることがわかりました。セッションタイムアウトを1分に設定し、そのイベントにブレークポイントを設定しました。

于 2012-09-06T07:07:28.610 に答える