首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> ASP 程式設計 >> ASP 基礎

ASP Session 物件:使用者會話狀態管理

     編輯:ASP 基礎

ASP Session 物件:跨頁面儲存使用者專屬資料


HTTP 是無狀態協定,ASP 透過 Session 物件為每位使用者建立唯一識別 (SessionID),儲存跨頁面共用的個人化資料。


Session 物件示意

運作機制

  • 伺服器建立 Session 物件,產生唯一 SessionID
  • SessionID 以 Cookie 形式寫入用戶端瀏覽器
  • 後續請求攜帶 Cookie,伺服器識別對應 Session
  • 預設逾時 20 分鐘 (可調整),逾時後自動銷毀

集合

集合描述
Contents儲存腳本指派的所有項目 (變數、物件)
StaticObjects儲存 <object> 標籤宣告的物件

屬性

屬性描述
CodePage指定動態內容顯示的字碼頁
LCID設定/傳回地區識別碼 (影響日期/貨幣格式)
SessionID傳回唯一識別碼 (唯讀)
Timeout設定/傳回逾時分鐘數

方法

方法描述
Abandon立即結束目前 Session
Contents.Remove(key)移除指定項目
Contents.RemoveAll()清空所有項目

事件 (於 Global.asa 中處理)

事件觸發時機
Session_OnStart新使用者首次請求頁面時
Session_OnEndSession 逾時或呼叫 Abandon 時

實務範例:購物車計數器

<% ' Session_OnStart (Global.asa)
Sub Session_OnStart
  Session("CartCount") = 0
End Sub

' 一般頁面新增商品
Session("CartCount") = Session("CartCount") + 1
Response.Write "購物車商品數: " & Session("CartCount") %>

注意事項:Session 資料儲存在伺服器記憶體,大量使用者會消耗資源;負載平衡環境需設定 Session 狀態伺服器 (State Server) 或 SQL Server 模式。ASP.NET 提供更完整的 Session 狀態管理選項。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved