As we knew that its a very big problem
specially when developers provide a very large entry page to users. It will be
Irritating for users after entering all data & then session timeout occur.
To prevent or avoid session timeout problem, there is no fixed or specific or
direct way to handle. But one can handle this problem using javascript
asynchronous call. But one thing keep in mind that time to execute the javacript
method must be less than your session timeout time. Otherwise the method will
not work. So, carefully set the time aganist IIS or web.config file session
time. The cross-browser javascript method is given
below:
01 |
< script language = "javascript" type = "text/javascript" >
|
02 |
function Prevent_Session_Timeout()
|
03 |
{
|
04 |
var callerurl =
"Prevent_Session.aspx"; |
05 |
|
06 |
if (window.XMLHttpRequest)
|
07 |
{
|
08 |
xhttp = new XMLHttpRequest()
|
09 |
}
|
10 |
else
|
11 |
{
|
12 |
xhttp = new
ActiveXObject("Microsoft.XMLHTTP") |
13 |
}
|
14 |
xhttp.open("POST", callerurl, true);
|
15 |
xhttp.send("");
|
16 |
|
17 |
window.setTimeout("Prevent_Session_Timeout();", 60000);
|
18 |
}
|
19 |
|
20 |
//Initial calling
|
21 |
Prevent_Session_Timeout();
|
22 |
</ script > |
Important Notes:
1. Just create an aspx page named Prevent_Session.aspx. Because this page will be internally called by the above javascript method without any reflection to user.
2. You must set the window.setTimeout time parameter which never exceed the session timeout time of your project.
3. Paste the code in your main master page so that you need not write the code for each aspx page.
Script Tested for the following browsers:
1. Internet Explorer (IE)
2. Mozilla Firefox
3. Opera
4. Google Chrome
Comments
Post a Comment