如何避免web.config中的会话超时

我应该在asp.net的web配置文件中写什么,以便我的会话时间得到延长。 请告诉我应该将代码放在web配置中的确切位置

如果您试图阻止会话一直超时,则可以执行此操作而不是增加会话超时。

KeepAlive.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="KeepAlive.aspx.cs" Inherits="Pages.KeepAlive" %>  <%@ OutputCache Location="None" VaryByParam="None" %>      
KEEP ALIVE

保持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 { ///  /// Page to keep the session alive ///  public partial class KeepAlive : System.Web.UI.Page { //- EVENTS ------------------------------------------------------------------------------------------------------------------ #region Events ///  /// Page Load ///  /// object /// args 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 //--------------------------------------------------------------------------------------------------------------------------- } } 

然后在您的母版页中创建一个刷新的iFrame,以使会话保持活动状态

  

只需将超时更改为您希望会话持续的分钟数

      

您可以在web.config文件中指定会话超时,也可以使用timepan – 默认为20分钟,也可以将超时属性设置为大于进程和状态的525,601分钟(1年)的值 – 服务器模式。

  ...  

您可以通过调整Element中的timeout属性来更改会话在丢弃之前可以空闲的时间。

请记住,超时值以分钟为单位设置。

* timeout: *指定会话在被放弃之前可以空闲的分钟数。 对于进程内和状态服务器模式,timeout属性不能设置为大于525,601分钟(1年)的值。

有关参考,请参阅http://msdn.microsoft.com/en-us/library/h6bb9cz9(vs.80).aspx

请参阅HttpSessionState.Timeout属性。

您可以在web.config中更改会话超时值。

如果所需的会话超时为60分钟,web.config中的标记代码应如下所示: