Session_End事件中的Session变量的asp.net值

时间:2012-09-06 06:56:58

标签: asp.net events session session-variables

如果我将值存储在会话变量中

    Session["Int"] = 100;

Session_End事件会是什么?它会是null还是100?

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

意思是,在会话中或之前处理所有内容后,Session_End会激活吗?

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:0)

我发现Session [“Int”]将为100.我将会话超时设置为仅1分钟,并在该事件中设置了一个断点。