Created
July 18, 2012 20:37
-
-
Save tqheel/3138727 to your computer and use it in GitHub Desktop.
ASP.Net: Force redirect when session expires
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//source: http://www.codeproject.com/Articles/27073/How-to-Redirect-to-Another-Page-when-Session-Timeo | |
//Distributed under Codeplex Project Open License: http://www.codeproject.com/info/cpol10.aspx | |
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="/KB/session/login.aspx"; }" + @" | |
myTimeReminder=setTimeout('doReminder()', sessionTimeReminder); | |
myTimeOut=setTimeout('doRedirect()', sessionTimeout); "; | |
ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), | |
"CheckSessionOut", str_Script, true); | |
} | |
private void Page_Load(object sender, System.EventArgs e) | |
{ | |
this.CheckSessionTimeout(); | |
} | |
//To force page refresh instead of redirect replace doRedirect function with following | |
// function doRedirect(){ window.location.href=window.location.href; } | |
//If not using ScriptManager, replace with | |
//Page.RegisterClientScriptBlock(...) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment