2015-02-11 125 views
2

我正在使用MVC 4開發我的Web應用程序,我需要在會話超時後或用戶結束會話後向用戶發送電子郵件。任何人都知道如何檢測會話結束?由於如何檢測MVC 4會話結束

+0

這SessionState的模式,您使用的? – 2015-02-11 09:00:16

+0

@frebinfrancis我正在使用InProc模式 – 2015-02-11 09:10:54

+0

看到我的答案在 – 2015-02-11 09:16:29

回答

1

您可以使用Session_End中的事件在Global.asax文件

protected void Session_End(object sender, EventArgs e) 
     { 
      // Write your Logic 
     } 

要有耐心。該事件應該被調用,但不一定在超時之後。

你可以嘗試從瀏覽器:啓動一個會話,等待> 1分鐘,做一回發莫名其妙

這將有助於驗證超時工作,我想你也會看到SESSIONEND發生在那個時候。否則,請等待並開始其他會話。系統會在某個時間調用它。

For more information

About Session_End Event in MSDN blog

希望這有助於

+0

據我所知,Session_End在用戶關閉瀏覽器時無效,它只是在超時的情況下工作。 – 2015-02-11 09:22:38

+0

因爲你必須跟蹤jQuery中的窗口卸載事件。 – 2015-02-11 09:25:17

+0

你可以參考這個問題的更多細節http://stackoverflow.com/questions/28219970/img-requests-before-windows-close/28403618#28403618 – 2015-02-11 09:26:37