how to avoid session timeout in web.config

What should I write in web config file in so that my session time is extended. and please tell me the exact location where should I place the code in web config

Here is Solutions:

We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.

Solution 1

If you are trying to stop the session from timeing out all the time you can do this rather than increasing the session timeout.


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="KeepAlive.aspx.cs" Inherits="Pages.KeepAlive" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<%@ OutputCache Location="None" VaryByParam="None" %>
<html xmlns="">
<head runat="server">
    <form id="form1" runat="server">

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)
                //Add refresh header to refresh the page 60 seconds before session timeout
                Response.AddHeader("Refresh", Convert.ToString((Session.Timeout * 60) - 60));
            catch (Exception)

        #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">

Solution 2

Just change the timeout to the minutes you want the session to last

        <sessionState timeout="20" />

Solution 3

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.

    timeout="number of minutes"
    cookieName="session identifier cookie name"
    sqlConnectionString="sql connection string"
    sqlCommandTimeout="number of seconds"
    stateNetworkTimeout="number of seconds"
    customProvider="custom provider name">

Solution 4

You can change the amount of time a session can be idle before it is discarded by adjusting the timeout attribute within the Element.

Remember that the timeout value is set in minutes.

*timeout:*Specifies the number of minutes a
session can be idle before it is
abandoned. 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

For reference please see

Solution 5

See the HttpSessionState.Timeout Property property.

Solution 6

You can change session timeout value in web.config.

If the desired session timeout is 60 minutes, markup code in web.config should look like this:

  <sessionState timeout="60" />

Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from or, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply