Search

Custom Search

Subscribe via email

Enter your email address:

Delivered by FeedBurner

Tuesday, October 19, 2010

Setting timeout for session state and refreshing session variables on expiry without page refresh

http://www.codeproject.com/KB/session/Session_Defibrillator.aspx


Do this in web.config

<system.web>
<!--Profile enabled = false to for VISTA/IIS7-->
<profile enabled="false"></profile>
<!--
Set compilation debug="true" to insert debugging
symbols into the compiled page. Because this
affects performance, set this value to true only
during development.
Visual Basic options:
Set strict="true" to disallow all data type conversions
where data loss can occur.
Set explicit="true" to force declaration of all variables.
-->
<!--Setting Session State expiry-->
<!--
Handling Session Timeout
Rest implemented in page_load() of Timeout_Check.aspx and <body> of data_entry_form.aspx
Set to less than 6 mins of less because thats what IIS connection timeouts of different sorts are by default
and a higher value will be overridden by IIS.
-->
<sessionState timeout="6"/>
In data_entry_form.aspx
<body style="color: black;margin-left:0px; margin-top:0px;margin-bottom:0px;margin-right:0px" bgcolor="#000000" >
<form id="form1" runat="server">
<%--Handling Session Timeout
Adding invisible iframe to refresh if 10 seconds are left to session timeout
The end result is that the session will be reloaded on expiry without refreshing
the page, since the other part of the code is placed in page_laod of Timeout_Check.aspx
and so only that iframe would be reloaded, thus refreshing the session variables without whole
page refreshing.
Rest implemented in <system.web> of web.config and page_load() of Timeout_Check.aspx--%>
<iframe id="Timeout_Check" src="Timeout_Check.aspx" frameborder="0" width="0" height="0" runat="server"></iframe>
<div>
In Timeout_Check.aspx.vb
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
REM Handling Session Timeout
REM Adding header to refresh if 60 seconds are left to session timeout
REM Rest implemented <system.web> of web.config and and in <body> of calling parent (data_entry_form.aspx) aspx
REM The Session.Timeout converts the minutes into seconds.
REM The DateTime.Now.Ticks lets a new value be appended with the querystring to ensure that the browser does not cache and actually
REM send the URL because of its unique value, since seconds in time will always be progressing.
Response.AddHeader("Refresh", Convert.ToString((Session.Timeout * 60) - 60) & ";url=Timeout_Check.aspx?q=" & DateTime.Now.Ticks)
End Sub
In temperroradmin.aspx page_load()
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
REM Show alert if it was a delete error
Dim tempStrAndErrCompDELETE As Boolean
tempStrAndErrCompDELETE = Request.QueryString("request_tempMsg").ToString.Contains("DELETE")
If (tempStrAndErrCompDELETE = True) Then
REM NOTE: This is unneccessary now since its handled in page_error of data_entry_form.aspx using session("Delete_Error")
ScriptManager.RegisterStartupScript(Me, Me.[GetType](), "Delete_Error", "alert('The DELETE operation could not be completed. This was because the record you tried to delete is already being used. If a record is already being used in another table then deleting it would also delete its entry from there and that would create null references. For further explanation of this please contact Saad Hashmi, Asst. IT Programmer.');", True)
REM Since the popup alert did not get displayed therefore adding a timer to response redirect for 0 seconds.
REM The reason for response redirect in first place is because multiple records were being added on refresh.
Response.AddHeader("REFRESH", "0;Data_Entry_Form.aspx")
Else
REM ...Continuing with other errors
Dim tmp_lbl_ErrorLabel As Label
tmp_lbl_ErrorLabel = CType(FindControl("ErrorLabel"), Label)
tmp_lbl_ErrorLabel.Text = Request.QueryString("request_tempMsg")
REM Checking for Session Timeout
REM In case connection was lost.
If Session("Login") = Nothing Then
tmp_lbl_ErrorLabel.Text = "Session has timed out."
End If
End If
End Sub
Session timing out because of conflict with IIS timeout
http://forums.asp.net/t/1411523.aspx
If IIS its 60mins ans web.config 20mins then actual timeout 20mins
If IIS its 60mins ans web.config 180mins then actual timeout 60mins

image
image

No comments:

Post a Comment

Labels

.ico (1) acunetix (1) adding controls dynamically (1) adding list item programatically (1) adding parameters (1) aligning (2) aligning buttons (1) and Bind() can only be used in the context (1) anonymous access (1) appending static dropdownlist items (1) asciibetical sort (1) asp.net (101) assembly (1) asterisk (1) auto increment (1) autopostback (1) autosize (1) aztech (5) behavior (1) boundfield (1) browser tab icon (1) busybox (1) bypass proxy (1) calculate totals in reportviewer (2) cangrow (1) cascading style sheets (1) case (1) CDbl (1) changemode (1) checkbox (1) columns (1) comments (1) comparing all values (1) comparing integer values (2) comparison (2) conditional IIF (1) confirmation box on delete (1) connection string (1) control (1) controlID (1) controlparameter (1) convert (1) convert format of currency or float or 0.0000 to 0.00 (1) convert image to pixels (1) converting dates (2) css (1) ctype (1) culture (1) currency (1) current date (1) current ports (1) data typeconversion (1) database (2) databind (1) databound (5) dataformatstring (1) date column (1) date format (3) date sort in gridview (1) db_datareader (1) db_datawriter (1) dd MMM yyyy (1) defaultmode (1) delete button (1) deleting (1) deleting rows (1) deploying website to IIS (3) deployment error (1) deployment to IIS (4) detecting formview move (3) difference between filterexpression and selectexpression (2) difference between publish and build in visual studio (1) directory security (1) display error on no data in reportviewer (2) distinct (1) DLL (1) DMZ (1) double value (1) double quotes in javascript (1) download reportviewer (5) download visual web developer (3) drill down (1) drilldown (1) drilldown dropdownlist (1) dropdownlist (4) dropdownlist showing double values on postback (2) DSL 605EU (5) dynamic DNS (1) dyndns (1) e.values (1) edit mode (1) embedded images (1) emptydatatemplate (1) enableclientscript (1) enableviewstate (1) error during selection in filter of non matching values (1) Eval() (1) event manager (1) excel to sql server (2) executiontime (1) expression (2) F5 key refresh (1) failed to load viewstate (1) favicon (1) favicon.ico (1) feedback (1) feedback module (1) field expression (1) file permissions (1) filter (3) filterexpression (2) filterparameters (1) findcontrol (1) firefox (1) firefox password problem (1) firewall (1) float (1) focus (1) font (1) footerrow (1) format currency (1) formatting date in reportviewer (1) formview (11) formviewmode (2) freeze screen (1) global ip (2) globals (1) gotreportviewer (1) grand total (1) gridview (18) gridview labels (3) handling dates (6) handling nulls (5) html (1) htmlencode (1) httphandler (1) icon in address bar (1) icon in browser (1) IIS (6) IIS 5 (2) IIS 7 (1) IIS admin tool (1) IIS error (1) iis installation (1) IIS manager (3) IIS personalization (1) IIS pool (3) IIS setup (1) IIS Unexpected error 0x8ffe2740 (1) image control (1) image sizing in reportviewer (1) importing html into excel (1) index was out of range (1) insert (4) insert image in reportviewer (1) inserting (1) insertparameters (1) integer (1) integer column (2) intellisense (1) iteminserted (1) iteminserting (2) itemupdating (2) javascript (6) javascript and smartnavigation (1) javascript intellisense (1) label (1) left align pagerstyle (1) listitem (1) live ip (2) load (1) maintain cursor on field after postback (1) maintainscrollbackposition (2) managing deletion (1) microsoft (2) modechanged (1) modechanging (1) money column (1) money field (1) monitor IIS errors (1) monitoring ports (1) ms excel (1) ms word (1) multiple values shown (1) natural sort (1) network service (3) newline character in reportviewer textbox (1) newmode (1) nirsoft (1) no data (1) non focus (1) non null (1) norows property (1) obfuscate (1) obfuscator (1) objectdatasource (3) onclientclick (1) onfocus (3) onkeyup (1) page expiry (1) page margins (1) page_load (1) pageindex (1) panel (1) parameterized query (1) pdf (1) permissions (2) port forwarding (2) port scanner (1) ports (2) postback losing focus problem (1) pre-compile tasks visual studio (1) prevent insert on refresh (1) prevent multiple records being added (1) preventing doubleclick (1) preventing multiple clicks (1) primary key (1) primary key column (1) profile (2) programming (1) protect asp.net code (2) publickeytoken (1) publish to DLL (2) publish website (2) putting blanks in formview (1) reboot router (1) referencing values of selectcommand (1) register asp.net (1) registerstartupscript (2) remove focus (1) removing a textbox (2) report header (1) reportaddin.msi (2) reporting services (3) reportviewer (11) reportviewer formatting A4 size PDF (1) reportviewer formatting for A4 size PDF (1) reportviewer header scroll problem (1) reportviewer showing header (1) reportviewer showing header constantly (1) reset autokeys (1) restart router (1) router (6) router interface (1) rows (1) schema (1) scriptmanager (1) scroll function (1) scroll to window location with javascript (1) scrolling scrollbar with javascript (1) selectcommand (1) selectedindexchanged (1) selectedrowstyle (1) selectedvalue (1) selectexpression (1) selecting control inside gridview (1) selecting null as 0 (1) selecting null as zero (1) selecting nulls (3) selecting row (1) selecting totals in t-sql using subquery (2) selecting week (1) server application unavailable (1) session state (2) session timeout (1) set focus on control on page load (1) setting tab order of controls (1) setup firewall (1) showtime (2) single quotes in javascript (1) sizing property (1) skype port 80 conflict (1) smartnavigation (3) smartnavigation errors (1) smartnavigation problems (2) smartnavigation solutions (1) sorting (1) sql server (47) sqldatasource (9) SSRS (5) start primary key column from 1 (1) static ip (1) string value (1) stylesheet (1) subquery (2) summary (1) system.web (1) t-sql (22) tab index (2) tab order (2) table (1) table of contents (1) table wrap (1) tables (1) tcp port (1) TD (1) telnet (1) templatefields (2) ternary IIF operator (2) textbox (4) textchanged (1) timeout (1) top row (1) totals in gridview footer (2) TR-068 WAN Access (1) trimming values (1) truncate table (1) try catch block (1) updating (1) validation (1) validationsummary (1) vb (76) version (1) viewstate (1) viewstate error (1) virtual directory (1) visiblefalse (1) visual studio 2008 (4) visual web developer (5) visual web developer 2005 (3) vwd (2) watch activity (1) watermark (1) web tunnel proxy (1) web.config (4) webforms (1) webserver (1) Website Vulnerabilities (1) where clause (1) windows CD (1) windows server (3) windows vista (2) windows xp (1) wrap line (2) wrapping text in reportviewer textbox (1) xp (2) XPath() (1)