0

为了确保我的会话始终保持打开状态,我创建了一个简单的 stayalive.aspx 页面。页面标题包含每 5 分钟刷新一次页面的元数据。

在我的页面加载逻辑中,我只是在会话中设置了一个值。

protected void Page_Load(object sender, EventArgs e) {
    System.Web.HttpContext.Current.Session["Alive"] = 1;
}

我的理解是,只要您继续在会话中赋予价值,会话将继续保持活力。但是,这似乎不起作用。我仍然在大约 30 分钟后得到会话超时。

我想知道是否有人对为什么不起作用有任何见解。

请注意,web.config 中的 sessionstate 和表单身份验证超时值设置为 300(5 小时)。

我的一个想法是,我每次都设置一个不同的值,而不是在会话上设置相同的值:

    System.Web.HttpContext.Current.Session["Alive"] = DateTime.Now;

你认为这会有帮助吗?

4

1 回答 1

0

会话活动不需要向会话中添加值。如果您继续刷新 aspx 页面,会话应该会自动扩展。

于 2013-03-06T23:47:16.027 回答