如何避免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" %>
保持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中的标记代码应如下所示: