2011-04-14 60 views
1

如果瀏覽器請求ASP.Net頁面,然後用戶單擊「停止」或導航,我雖然瀏覽器會關閉連接,ASP.Net可能會停止執行。我不認爲是這種情況,因爲我測試這個時不會調用Dispose()。無論如何要知道瀏覽器/客戶端何時斷開連接然後停止頁面執行?ASP.Net:如何在瀏覽器斷開連接時停止頁面執行?

回答

2

您可以檢查IsClientConnected

if (!Response.IsClientConnected){ 
     HttpContext.Current.Response.End(); 
     return; 
    } 
+1

肯定,但在長期運行過程中,將無法正常工作。比方說,例如,頁面正在執行一些SQL查詢並且用戶導航 - 這很好,可以捕獲並終止SqlConnection,這樣SQL服務器就不會徒勞地處理查詢。 – 2011-04-14 22:30:50

+0

@Josh M.多久了? 1秒 ? 10秒? SQL查詢需要處理?是的,一般情況下,除了這個功能外,沒有一個觸發器可以查看用戶是否連接了。如果你有太多的工作要做,你可以檢查一下,以避免一些長時間的處理。 – Aristos 2011-04-14 22:33:18

+0

@Josh頁面通常需要不到一秒的時間來完成該過程。需要更長時間的頁面需要特別的照顧,也許還有一個進度條 - 也許這樣的檢查就是這樣一次。 – Aristos 2011-04-14 22:34:52

相關問題