我們是否可以在global.asax文件的Session_End事件中重新填充像用戶信息,ID等會話,而不是將用戶重定向到登錄頁面,以便用戶不必再次登錄?我們可以在全局文件的Session_End事件中重新填充會話嗎?
0
A
回答
2
Session_End
表示會話已過期。默認會話時間爲20分鐘。會話也有滑動到期。因此,如果用戶在20分鐘內不會做任何請求,則該會話將會過期,並且將調用Session_End
事件。
如果您需要更大的會話超時,可以增加它在web.config中一樣:
<system.web>
<sessionState timeout="60" />
</system.web>
但在Session_End
事件重新填充會議對我來說沒有太大的意義,因爲反正用戶不上現場至少20分鐘。無論如何,每個會話都將過期,因爲服務器需要釋放不活動會話使用的內存以處理新會話,並且不會浪費舊內存。
0
有很多方法可以處理這個問題。當Session_End發生時 - 會話結束。我在所有頁面(或主頁面)的頂部都有代碼,用於檢查會話是否已經結束。我傾向於對用戶執行諸如存儲2個GUID之類的操作,並在用戶登錄時返回它們。我將一個cookie粘貼到用戶的盒子中,另一個粘貼在隱藏字段中(同樣,最好在母版頁或用戶控件中出現在每一頁上)。如果會話超時,我從cookie中檢索一個GUID,另一個來自隱藏字段,並使用它們兩者返回數據庫,檢索用戶的詳細信息並重新填充會話。
在用戶全天登錄的站點上 - 每15分鐘使用javascript刷新一次會話。成千上萬的用戶在一個相當低端的服務器環境中 - 從來沒有遇到任何問題。
相關問題
- 1. 我們可以在QML文件中聲明全局變量嗎?
- 2. WH_MOUSE可以捕捉全局事件嗎?
- 3. 我可以在onChange事件上填充字段嗎?
- 4. 我們可以在Coldfusion中更新會話嗎?
- 5. 在ActionListener事件上重新填充JList
- 6. 我可以使用sharedPreferences文件中的項目填充AlertDialog嗎?
- 7. 您可以重載.hpp文件中的全局運算符嗎?
- 8. 我們可以在故事板中使用xib文件嗎?
- 9. 我可以用查詢結果填充會話變量嗎?
- 10. Excel VBA:我可以設置全局右鍵單擊事件嗎?
- 11. 我們可以重寫全局變量嗎?
- 12. 我們可以在沒有DataAdapter的情況下填充DataSet嗎?
- 13. 我可以從CodeIgniter中的session_id重新加載會話嗎?
- 14. 我可以設置全局變量並在其他文檔就緒事件中使用它們嗎?
- 15. 我們可以更新Angularjs中的JSON文件嗎?
- 16. 我可以監視Linux上的文件重命名事件嗎?
- 17. 我們可以在anjularjs中全局更改嗎
- 18. 我們可以在webapp2中用i18n做全局設置嗎?
- 19. 我們可以使用全局gradle-wrapper.properties文件
- 20. 我們可以在php中創建無限的會話嗎?
- 21. 我可以刷新UIGestureRecognizer事件嗎?
- 22. 會話超時後,我們可以保留會話嗎?
- 23. 我們可以通過轉換更改包裝佈局的填充屬性嗎?
- 24. 我可以在事件處理程序中更改全局變量嗎?
- 25. 我們可以在Android中使用liferay-mobile-sdk進行安全會話嗎?
- 26. 我們可以在日曆中加載JSON數據(事件)嗎?
- 27. 我們可以在Mulesoft中管理會話嗎?
- 28. 我們可以在GDB會話中定義新的數據類型嗎
- 29. 我可以在Session_End中寫入我的登錄頁面重定向代碼嗎?
- 30. 我們可以恢復被重置的文件嗎?
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –
其實我對.net 的具體感謝方式 – ShazebAli
說「ASP.NET」暗示「.NET」。 –