2012-10-31 38 views
2

我有一個網站有多個頁面。每個頁面都有一個「另存爲草稿」方法,可以保存用戶的進度。我有一個40分鐘的會話超時,我想知道如何做到這一點,以便每當會話過期,頁面自動調用「另存爲草稿」(所以它不會丟失)在會話超時中調用方法?

我將如何開始做這樣的事情?

回答

3

你不能:會話過期服務器端,不能發送消息到瀏覽器(它甚至不知道用戶是否仍然看到該頁面或已關閉瀏覽器)。

可能設置一個客戶端超時將頁面(作爲草稿)保存到服務器,但是這會刷新會話!因此,也許只需每5到10分鐘自動「保存爲草稿」,從而保持會話(加上完成的工作草稿)。

0

在.Net中,您可以通過Session_End(對象發件人,EventArgs e)例程中的Global.asax執行此操作。我用它來做一些資源發佈工作。

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