c# - 如何避免 web.config 中的 session 超时

标签 c# asp.net

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

最佳答案

如果您试图阻止 session 一直超时,您可以这样做而不是增加 session 超时。

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>

保活.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

        //---------------------------------------------------------------------------------------------------------------------------
    }
}

然后在您的母版页中创建一个刷新以保持 session 事件的 iFrame

<iframe id="Defib" src="KeepAlive.aspx" frameborder="0" width="0" height="0" runat="server">
</iframe>

关于c# - 如何避免 web.config 中的 session 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5354541/

相关文章:

asp.net - 在 ASP.NET MVC 3 中以编程方式更改 Web Config 中的自定义错误模式

c# - 将复杂模型中的列表绑定(bind)到 mvc 应用程序

javascript - JavaScript 中的 CheckBox onClick 事件是否有其他替代方法?

c# - 区域 - 日期和时间问题

c# - 复杂的 Linq-to-SQL where 条件帮助

c# - 更好的求和方式

java - C# - 从 Java 的 DataOutputStream 读取 long

javascript - Ajax 调用一直给我 "internal server error 500"

asp.net - IIS7 和 IE8 - 页面在相同版本的 IE8 上呈现不同?

c# - 按 Escape 键调用方法