You can override OnInit of Page class, and check if the session created is new by calling IsNewSession( ) of HttpSessionState
Check this out for details http://aspalliance.com/520_Detecting_ASPNET_Session_Timeouts.all On Tue, Jan 26, 2010 at 2:37 PM, Burbletrack <[email protected]> wrote: > Hi all, > > I am developing a web application in ASP.Net 2. > > The landing page is a login page with two other pages "Contact Us" and > "Password Reminder" that allow anonymous access. When the user is > loged in and accessing other pages, upon session timeout, the user > must be redirected to the login page unless he/she is allready in the > login page or one of the anonymous pages. > > I have the following code in my Global.asax file. > > protected void Session_Start(object sender, EventArgs e) > { > string request_cookies = Request.Headers["Cookie"]; > > if ((null != request_cookies) && (request_cookies.IndexOf > ("ASP.NET_SessionId") >= 0)) > { > string lastLocation = Request.FilePath; > > switch (lastLocation) > { > case "/Login.aspx": > case "/ContactUs.aspx": > case "/PasswordRetrieve.aspx": > return; > default: > Response.Redirect("~/Login.aspx?timeout=1"); > break; > } > } > } > > This works well when running in debug mode / .Net environment. When > session is timed out, the user is successfully redirected to the login > page. The login page then uses the following code to activate a label > indicating that timeout has occured... > > protected void Page_Load(object sender, EventArgs e) > { > if (Request.Params["logout"] == "1") > { > Session.Remove("CurrentUser"); > } > > if (Request.Params["timeout"] == "1") > { > lblTimeout.Visible = true; > } > } > > Like I said, all this works fine in debug mode, but when hosted in IIS > 6, upon timeout, the user is redirected to the login screen, but it > seems an infinite loop of some kind is occuring and it keeps > redirecting to the login page even thoug it is allready there. As if > the login page keeps posting back. > Has anyone experienced this before? Any solutions? > > Regards. >
