Wednesday, 16 January 2013

SESSION TIMEOUT

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

No comments:

Post a Comment

Note: only a member of this blog may post a comment.