2015-10-29 36 views
1

我有一個使用Forms身份驗證的ASP.Net網站,當用戶登錄時,它會佔用該特定用戶的許可證。當他們註銷時,它可以釋放許可證。表單驗證過期時是否會引發事件?

但是,如果用戶關閉瀏覽器而不註銷,我無法真正捕獲它。

所以我想知道如果他們的會話過期了,是否有提出的事件可以讓我運行我的代碼來釋放我的許可證?

我想過在登錄頁面中檢查一下,如果它已被重新定向(因爲它們不再被認證),但我不知道用戶是誰,我需要他們的詳細信息來發布他們的執照。

回答

1

你有兩個選擇,從onbeforeunload透過電話網絡的方法,並把你的邏輯存在,或使用Session_End事件Global.asax文件,並把你的邏輯存在。請確保您正在使用的進程內會話同時使用Global.asax

編輯嘗試存儲Session東西Session_Start如果Session_End不叫。類似於

Session [「dscd」] =「sdcsd」;

+0

感謝您的信息。所以Session_End會是理想的地方。於是在我的Global.asax中創建了一個名爲Session_End的子項,因爲它沒有顯示在事件的下拉列表中。但它似乎並沒有被調用。我創建了一個Session_Start,它被調用。我知道這是一個單獨的問題,因爲一些其他人已經打了它,但修復它與但這不適合我,任何想法? – sbarnby71

+0

如果你在文件中添加global.asax,那麼'Session_End'應該自動添加到那裏。你不必這樣做。我認爲你自己創建了'Global.asax'?如果是這樣,那麼請刪除它並添加「添加新項目」選項,並檢查調試器是否擊中它。 – Imad

+0

你是對的我創建了global.asax我自己(舊習慣),所以建議和添加新項目,它現在在那裏,但似乎並沒有被調試器捕獲。 – sbarnby71

相關問題