为了确保我的会话始终保持开启,我创建了一个简单的stayalive.aspx页面。页面标题包含每5分钟刷新页面的元数据。
在我的页面加载逻辑中,我只是将一个值设置为session。
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;
你认为这会有所帮助吗?
答案 0 :(得分:0)
会话活动不需要在会话中添加值。如果您继续刷新aspx页面,会话应自动扩展。