shah bhanu

shah bhanu

  • NA
  • 1
  • 0

Confirm box for session comes up even when you are doing something on page

Feb 21 2011 12:28 PM

Hi,

I have requriement where user should get alert or popup when his session is going to expire.He should warn before two minutes that his session is going to expire and if he does not respond he should be redirected to other page.Main requirement is his session time should start when he is idle or when there is no activity in the website.

But with code below confirm box for sesson expiration comes even when I am working on the page 

private void CheckSessionTimeout()
{
    string msgSession = 'Warning: Within next 3 minutes, if you do not do anything, '+
               ' our system will redirect to the login page. Please save changed data.';
    //time to remind, 3 minutes before session ends
    int int_MilliSecondsTimeReminder = (this.Session.Timeout * 60000) - 3 * 60000;
    //time to redirect, 5 milliseconds before session ends
    int int_MilliSecondsTimeOut = (this.Session.Timeout * 60000) - 5;

    string str_Script = @"
            var myTimeReminder, myTimeOut;
            clearTimeout(myTimeReminder);
            clearTimeout(myTimeOut); "
+
            "var sessionTimeReminder = " +
int_MilliSecondsTimeReminder.ToString() + "; " +
            "var sessionTimeout = " + int_MilliSecondsTimeOut.ToString() + ";" +
            "function doReminder(){ alert('" + msgSession + "'); }" +
            "function doRedirect(){ window.location.href='login.aspx'; }" + @"
            myTimeReminder=setTimeout('doReminder()', sessionTimeReminder);
            myTimeOut=setTimeout('doRedirect()', sessionTimeout); "
;

     ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(),
           "CheckSessionOut", str_Script, true);
}

With above code confirm box comes even when I am working on the screen.My requirement is it should only show up if I am idle.



Answers (1)