我有一個網站有多個頁面。每個頁面都有一個「另存爲草稿」方法,可以保存用戶的進度。我有一個40分鐘的會話超時,我想知道如何做到這一點,以便每當會話過期,頁面自動調用「另存爲草稿」(所以它不會丟失)在會話超時中調用方法?
我將如何開始做這樣的事情?
我有一個網站有多個頁面。每個頁面都有一個「另存爲草稿」方法,可以保存用戶的進度。我有一個40分鐘的會話超時,我想知道如何做到這一點,以便每當會話過期,頁面自動調用「另存爲草稿」(所以它不會丟失)在會話超時中調用方法?
我將如何開始做這樣的事情?
你不能:會話過期服務器端,不能發送消息到瀏覽器(它甚至不知道用戶是否仍然看到該頁面或已關閉瀏覽器)。
你可能設置一個客戶端超時將頁面(作爲草稿)保存到服務器,但是這會刷新會話!因此,也許只需每5到10分鐘自動「保存爲草稿」,從而保持會話(加上完成的工作草稿)。
在.Net中,您可以通過Session_End(對象發件人,EventArgs e)例程中的Global.asax執行此操作。我用它來做一些資源發佈工作。
你可以調用函數在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