This question already has an answer here:
I am trying to redirect user to another page when session ends.
This code will result "Object reference not set to an instance of an object." exception
void Session_End(Object sender, EventArgs E)
{
HttpContext.Current.Response.Redirect("/");
}
any idea how to do it ?
Session_End
is fired internally by the server, based on an internal timer. Because of that, there is noHttpRequest
associated when that happens. That is whyResponse.Redirect
orServer.Transfer
does not make sense and will not work.I see in the past workarounds about this but never tried, you should make Base class which every page inherit.
OnInit
in the base class add this. Base Class inheritUI.Page
. If you don't use base class logic you should add this logic to every page which is not nice.The page should be refreshed after 5 seconds once the Session is expired, with the if you will catch that the session is new and you will redirect.