Đối tượng Session là biến được tạo ra ở mỗi phiên làm việc của một người dùng, vậy là mỗi người đăng nhập vào sẽ có một session riêng và phiên làm việc của họ cũng có biến session riêng và được hủy khi phiên làm việc đó kết thúc và đăng xuất.
Session là một trong những biến quan trọng nhất trong ứng dung web, nó là riêng biệt với các đối tượng người dùng tuy nhiên biến này được tạo ra sẽ sử dụng ở tất cả mọi trang trong website và lưu vết của người dùng đó đã làm nhưng gì trên website mình.
Ví dụ: Web bán hàng khi khách hàng chọn hàng vào giỏ ở trang chủ, và sau đó tham quan các trang sản phẩm khác vẫn thêm được hàng vào giỏ hàng đó và giỏ đó hủy khi bấm hủy giỏ hay thanh toán.
Cũng như ở Cookies, Session cũng có thời gian nếu quá thời gian đó session sẽ tự hủy đó người ta gọi là thuộc tính time out.
1) Khởi tạo Session
- Khi 1 người dùng truy cập vào 1 trang asp, và Global.asa có thủ tục Session_OnStart
- Giá trị được lưu lại gọi là giá trị của Session
2) Huỷ Session
- Huỷ Session khi hết thời gian sống
<%
Session.Timeout=5
%>
- Sử dụng thuộc tính Abandon của Session
<%
Session.Abandon
%>
3) Ví dụ
+) Ví dụ 1: Lưu tên và tuổi người dùng thông qua Sessions
<%
Session("username")="Donald Duck"
Session("age")=50
%>
Truy xuất Session
<%
Response.Write("Tên của tôi là: "& Session("username"))
Response.Write("Tuổi của tôi là: "& Session("age"))
%>
Xoá Session
<%
If Session.Contents("age")<18 then
Session.Contents.Remove("sale")
End If
%>
Session.Contents truy cập giá trị Session thông qua key của Session
Xoá Session thông qua hàm
<%
Session.Contents.Remove(key)
%>
Xoá tất cả các Session ở hệ thống
<%
Session.Contents.RemoveAll()
%>
Duyệt tất cả Session của hệ thống
+) Session lưu dữ liệu dạng đơn giản key = > value
<%
Session("username")="Donald Duck"
Session("age")=50
dim i
For Each i in Session.Contents
Response.Write(i & "<br>")
Next
%>
+) Session lưu đối tượng (object)
<%
dim i
dim j
j=Session.Contents.Count
Response.Write("Session variables: " & j)
For i=1 to j
Response.Write(Session.Contents(i) & "<br>")
Next
%>