2010-06-11 20 views
1

如果我的會話以任何方式結束,那麼我如何在代碼中再次啓動會話。關於會話statingin asp.net

+0

爲什麼要重新打開它?你不能那樣做,但取決於你試圖達到的目標,可能還有其他解決方案,可能就像增加會話超時一樣簡單。 – 2010-06-11 13:22:37

回答

1

你不行。當會話從瀏覽器或服務器中消失時,它不能重新打開,你必須開始一個新的會話。

重新打開在瀏覽器中關閉的會話將是潛在的安全風險。重新打開從服務器關閉的會話是不可能的,因爲數據不再存在。

每個請求都在會話範圍內完成(除非您專門製作無會話請求),因此如果會話因任何原因而關閉,則會在下一個請求時自動創建新會話。

0

傳統上,如果您希望會話保持活躍狀態​​,則必須以在會話超時時間內不斷向服務器發出請求的方式編寫應用程序。這可能是在JavaScript計時器上使用ajax請求或iframe回發。我從來不喜歡這些方法,但對於某些應用程序來說,它們有意義。

這是一個基於AJAX的會話刷新的一個簡單的例子: http://naspinski.net/post/Automatically-refresh-your-users-Session-behind-the-scenes-using-jQuery-and-AspNet.aspx

0

你不能做到這一點,但您可以使用Session.RemoveAll()