I have configured my Web.Config
file as follow in a ASP.NET MVC 2 project:
<sessionState mode="InProc" timeout="1"/>
And added the following in Global.asax.cs
:
protected void Session_End(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine("Session_End");
}
protected void Session_Start(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine("Session_Start");
}
Session_Start()
is called when a new user goes on the website. I would have expected Session_End()
to be called after 1 minute of idle time, but it's not the case. Am I missing something?
Remember this:
If you don't save anything into the session, the session_end will not fire. If you're saving data in the session in the first request, and calling abandon in the same request the session_end will also not fired.
Hope this helps!
T
btw: ASP.NET Session_End event not firing
Be patient. The event should be called, but not necessarily right after the timeout.
You could try from a Browser: Start a session,wait > 1 minute, do a Postback somehow
This should help to verify that the Timeout works and I think you will also see the SessionEnd happening at that time. Otherwise, just wait and start some other sessions. The system will come around o calling it sometime.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With