當會話過期時,asp.net會在後臺執行什麼操作?會話是否完全處理完畢,或者是否需要在Global.asax的Session_End
事件中添加Session.Abandon();
?會話過期時會發生什麼情況?
0
A
回答
3
內存中狀態 - 從會話列表中刪除對象並調用Session_End
。對於SQL會話狀態,由於不匹配(ID +未到期)條件,因此沒有任何事情發生,並且數據將不再返回具有相同會話ID的未來請求。
您不需要在Session_End
中調用Session.Abandon()
,因爲會話過期時調用該事件(這正是Abandon
所做的)。
注意
使用了進程外會話狀態(SQL狀態服務)將不會收到Session_End
事件,因爲外OUF進程狀態不火嘛
- 正常的Web應用程序。
- 如果您需要清理SQL會話狀態,則可以運行clenaup任務來刪除過期會話的行。
1
會話完全處置。你不需要做任何特別的事情。 Session_End
是一個讓你在會話處理時做事的事件。
Session.Abandon()
是一個讓您隨意終止會話的命令。
注意:如果您沒有在Session
中放置任何變量,那麼Session_End
將不會觸發。
+1
請注意,此答案明確談論了進程內會話狀態。 –
1
如果您使用inproc會話提供程序,會話將被清除,因此您不需要撥打Session.Abandon()
。
相關問題
- 1. 會話過期時,購物車對象會發生什麼情況?
- 2. 提供配置文件過期時會發生什麼情況?
- 3. CookieAuthenticationOptions中的validateInterval過期時會發生什麼情況
- 4. 如果iOS分發證書過期會發生什麼情況?
- 5. 會話過期後會話ID會發生什麼變化?
- 6. 發生病情時會發生什麼情況?
- 7. 代碼簽名證書過期會發生什麼情況?
- 8. 當我將任何命令連接到telnet會話時,會發生什麼情況?爲什麼會話關閉
- 9. 爲什麼會發生這種情況?
- 10. PHP cookie過期時會發生什麼?
- 11. 超過MaxKeepAliveRequests限制時會發生什麼情況?
- 12. 如果會話超時,global.asax中的session_start會發生什麼情況?
- 13. 如果使用session_id()設置過期會話,會發生什麼?
- 14. MSDN訂閱到期後,Windows Azure Portal會發生什麼情況。
- 15. MySQL備份期間INSERT會發生什麼情況?
- 16. ASP.Net - 會話超時後過去會發生什麼
- 17. 爲什麼會話會自動過期?
- 18. 執行查詢時,後端會發生什麼情況?
- 19. 當禁用javascript時Stripe會發生什麼情況
- 20. 取消鏈接目錄時會發生什麼情況?
- 21. 我們在簽名時會發生什麼情況?
- 22. 當系統關機時,cron作業會發生什麼情況?
- 23. 未安裝.NET Framework時會發生什麼情況?
- 24. ISNULL替換值爲NULL時會發生什麼情況?
- 25. 自動增量列用完時會發生什麼情況?
- 26. 容器關閉時睡眠線程會發生什麼情況?
- 27. 如果超時,會發生什麼情況?
- 28. 當數據庫脫機時,symfony會發生什麼情況?
- 29. .net應用程序啓動時會發生什麼情況?
- 30. iframe打開新窗口時會發生什麼情況?
確切地說,「丟棄」的意思是什麼?你問是否在會話中的所有對象上調用了IDisposable.Dispose? –