2009-12-17 19 views
0

我在Global.asax中的Session_OnEnd裏面放了一個斷點,看起來ASP.NET應用程序從來沒有停止過,當我嘗試調試時,我錯過了什麼?但我調試Session_OnStart調試Session_OnEnd

回答

1

首先嚐試在session_OnEnd中添加一些虛擬代碼。

將web.config中的會話超時設置爲例如一分鐘。這應該工作。

編輯:

等待一分鐘,斷點將被擊中。

0

首先,Session_OnEnd事件不會在應用程序停止時發生,它會在會話結束時發生。

會話在用戶請求最後一頁20分鐘後默認結束。如果等待那麼長時間,您可能會看到中斷點被擊中。 (事件在不同於常規頁面的環境中執行,所以我不確定調試器是否可以在那裏捕捉到一個斷點。)

這是一個相當普遍的誤解,即會話在用戶關閉瀏覽器窗口,但事實是服務器根本不知道瀏覽器窗口被關閉。服務器只知道所請求的頁面,它無法知道該頁面是否仍然顯示在瀏覽器中。

+0

它可以被調試。滿足像我寫的要求,它會被擊中。 – pipelinecache 2009-12-17 12:40:29

+0

btw,表單auth會話超時默認爲30 – abatishchev 2010-08-09 08:28:45

+0

@abatishchev:或許,但那是不同的。 – Guffa 2010-08-09 08:36:18