how to avoid session timeout in web.config
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>
Just change the timeout to the minutes you want the session to last
<!--<configuration>-->
<configuration>
<system.web>
<sessionState timeout="20" />
</system.web>
</configuration>
You can specify session time out in web.config file, can also use timespan--20 minutes is default, also The timeout attribute cannot be set to a value that is greater than 525,601 minutes (1 year) for the in-process and state-server modes.
<sessionState
mode="[Off|InProc|StateServer|SQLServer|Custom]"
timeout="number of minutes"
cookieName="session identifier cookie name"
cookieless=
"[true|false|AutoDetect|UseCookies|UseUri|UseDeviceProfile]"
regenerateExpiredSessionId="[True|False]"
sqlConnectionString="sql connection string"
sqlCommandTimeout="number of seconds"
allowCustomSqlDatabase="[True|False]"
useHostingIdentity="[True|False]"
stateConnectionString="tcpip=server:port"
stateNetworkTimeout="number of seconds"
customProvider="custom provider name">
<providers>...</providers>
</sessionState>