2014-09-01 12 views
0

假設您有一個帶有數據庫的單頁網站,並且您希望在page_Unload事件中關閉與數據庫的所有打開連接。用戶有沒有辦法關閉不觸發此事件的頁面?用戶可以通過什麼方式關閉不觸發page_Unload事件的asp.net網頁?

換句話說:你可以依靠page_onUnload處理程序來始終執行嗎?假設服務器保持運行(所以不像服務器在頁面打開時突然斷電)。

+1

你有什麼打算,如果數以百計的用戶打開你的網頁,只要把它坐在那裏做什麼?如果你想從數據庫獲取數據,你應該得到它 - 然後關閉連接。 – 2014-09-01 09:04:51

回答

1

Page_Unload事件「在頁面完全呈現,發送到客戶端並準備好被丟棄後調用」。當用戶打開頁面並看到它時,該事件已被調用。 當用戶離開頁面或關閉瀏覽器時不會調用它!

請閱讀有關ASP.NET Page Life Cycle

+0

我明白了。好像我誤解了生命週期。我確實讀過它,但我認爲「該頁面已準備好放棄」意味着丟棄,如從用戶的計算機內存中丟棄一樣。我認爲這是一個信號從客戶端發送到服務器客戶端關閉頁面(卸載它),就像窗口關閉時發送WPF中的Window_Close一樣。 – Nzall 2014-09-01 10:05:21

+0

不,沒有開放連接,沒有狀態,沒有保持活動狀態。一旦服務器交付了該頁面,它就結束了。剩下的可能是SessionState服務器端和ViewState客戶端。 總之,不要打開數據庫連接。 – Alexander 2014-09-01 11:42:40

相關問題