Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

asp.net values of Session variables in Session_End event

If I store a value in a session variable

    Session["Int"] = 100;

What it will be in the Session_End event? Will it be null or 100?

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

Meaning, will Session_End fire after disposing everything in the session or just before?

like image 381
v s Avatar asked Sep 06 '12 06:09

v s


1 Answers

It is 100.

To test it yourself simply add the ASP.NET application file global.asax to your project and handle the Session_Start end Session-End events:

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
}

You can end a Session by Session.Abandon() (or when it expires).

protected void Page_Load(object sender, EventArgs e)
{
    Session.Abandon();  // after this Session.End is called
}
like image 112
Tim Schmelter Avatar answered Oct 20 '22 23:10

Tim Schmelter