If you are trying to stop the session from timeing out all the time you can do this rather than increasing the session timeout.
KeepAlive.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="KeepAlive.aspx.cs" Inherits="Pages.KeepAlive" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <%@ OutputCache Location="None" VaryByParam="None" %> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> KEEP ALIVE </div> </form> </body> </html>
Keep Alive.aspx.cs
using System;
using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace Pages { /// <summary> /// Page to keep the session alive /// </summary> public partial class KeepAlive : System.Web.UI.Page { //- EVENTS ------------------------------------------------------------------------------------------------------------------ #region Events /// <summary> /// Page Load /// </summary> /// <param name="sender">object</param> /// <param name="e">args</param> protected void Page_Load(object sender, EventArgs e) { try { //Add refresh header to refresh the page 60 seconds before session timeout Response.AddHeader("Refresh", Convert.ToString((Session.Timeout * 60) - 60)); } catch (Exception) { throw; } } #endregion Events //--------------------------------------------------------------------------------------------------------------------------- } }
Then in your master page create an iFrame that refreshes to keep the session alive
<iframe id="Defib" src="KeepAlive.aspx" frameborder="0" width="0" height="0" runat="server"> </iframe>