我有一个包含多个页面的网站。每个页面都有一个“另存为草稿”方法,可以保存用户进度。我有40分钟的会话超时,我想知道如何做到这一点,每当会话过期时,页面会自动调用“另存为草稿”(所以它不会丢失)
我将如何开始做这样的事情?
答案 0 :(得分:4)
您不能:会话过期服务器端,无法向浏览器发送消息(它甚至不知道用户是否仍然看到该页面或已关闭浏览器)。
您可以设置客户端超时以将页面(作为草稿)保存到服务器,但这会刷新会话!所以也许每隔5-10分钟自动“另存为草稿”,从而保持你的会话(加上完成工作的草稿)。
答案 1 :(得分:1)
在.Net中,您可以通过Session_End(对象发送者,EventArgs e)例程中的Global.asax来完成。我用它来做一些资源发布工作。
答案 2 :(得分:1)
当会话过期时,你可以在global.asax中调用函数
Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
If Not Session.Item("sessionid") Is Nothing Then
If Session.Item("sessionid").ToString = "1" Then
ClsUtilities.CustomerLogout()
ElseIf Session.Item("sessionid").ToString = "2" Then
ClsUtilities.Logout()
End If
End If
End Sub