3

我有一个包含多个页面的网站。每个页面都有一个“另存为草稿”方法,可以保存用户的进度。我有 40 分钟的会话超时,我想知道如何做到这一点,以便每当会话过期时,页面会自动调用“另存为草稿”(所以它不会丢失)

我将如何开始做这样的事情?

4

3 回答 3

4

您不能:会话在服务器端过期并且无法向浏览器发送消息(它甚至不知道用户是否仍然看到该页面或已关闭浏览器)。

可以设置客户端超时以将页面(作为草稿)保存到服务器,但这具有刷新会话的效果!因此,也许只需每 5 到 10 分钟自动“另存为草稿”一次,从而保持您的会话(加上完成工作的草稿副本)。

于 2012-10-31T15:30:01.670 回答
1

在 .Net 中,您可以通过 Session_End(object sender, EventArgs e) 例程中的 Global.asax 来完成。我用它来做一些资源释放工作。

于 2013-03-29T15:21:24.137 回答
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 
于 2016-05-10T11:09:28.433 回答