如果我将值存储在会话变量中
Session["Int"] = 100;
Session_End事件会是什么?它会是null还是100?
void Session_End(object sender, EventArgs e)
{
object objInt = Session["Int"]; // Null or 100 ?
}
意思是,在会话中或之前处理所有内容后,Session_End会激活吗?
答案 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分钟,并在该事件中设置了一个断点。