Đối t−ợng Session

Một phần của tài liệu Lập trình web động với công nghệ ASP (Trang 31 - 33)

Đối t−ợng Sesion đ−ợc dùng để l−u trữ thông tin cần thiết cho một phiên làm việc của ng−ời dùng cụ thể. Các biến l−u trữ trong đối t−ợng Session không bị mất khi ng−ời dùng truy cập các trang Web khác trong ứng dụng. Thay vào đó các biến này tồn tại trong toàn bộ phiên làm việc của ng−ời dùng.

Khi một ng−ời dùng mới yêu cầu một trang Web từ ứng dụng, Web server tự động tạo một đối t−ợng Session và server sẽ phá huỷ đối t−ợng Session khi phiên làm việc kết thúc hoặc bị huỷ bỏ. Có thể đặt thời gian tồn tại cho một phiên làm việc tuy nhiên giá trị ngầm định cho một phiên làm việc tồn tại là 20 phút.

a. Tập hợp:

™ Session.Contents(Key)

Chứa danh sách các mục đã khởi tạo và thêm vào bằng đối t−ợng session. Không phải khởi tạo bằng thẻ <object>

Ví dụ: <%

Session("name") = "Application Maker" Session("publishdate") = "05/01/99" Session("author") = "ISSI"

Set Session("Obj1") = Server.CreateObject("ADODB.Connection") For Each Item in Session.Contents

If IsObject( Session.Contents(Item)) Then Response.Write Item & " is an object.<BR>" Else

Response.Write Item & "=" & Session.Contents(Item) & "<BR>" End If Next %> Kết quả: NAME=Application Maker

PUBLISHDATE=05/01/99 AUTHOR=ISSI

OBJ1 is an object.

™ Session.StaticObjects(Key)

Chứa danh sách các mục vừa đ−ợc khởi tạo và đ−a vào đối t−ợng Session nhờ sử dụng thẻ HTML <OBJECT>.

Ví dụ:

---Global.asa---

<OBJECT RUNAT=Server SCOPE=Session ID=MyInfo PROGID="MSWC.MyInfo">

</OBJECT>

<OBJECT RUNAT=Server SCOPE=Session ID=MyConnection PROGID="ADODB.Connection"> </OBJECT>

<OBJECT RUNAT=Server SCOPE=Session ID=MyADRot PROGID="MSWC.ADRotator">

</OBJECT>

---File.asp--- <%

For Each Item In Session.StaticObjects Response.Write Item & "<BR>"

Next %> Kết quả: MyInfo MyConnection MyADRot b. Sự kiện:

Cũng nh− đối t−ợng Application, đối t−ợng Session có hai sự kiện là Session_OnStart( đ−ợc kích hoạt khi mỗi khi một phiên làm việc bắt đầu) và Session_OnEnd (đ−ợc kích hoạt khi kết thúc một phiên làm việc)

Cú pháp

<SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Session_OnStart

' Nơi chèn đoạn Script cần thiết cho việc khởi tạo một phiên làm việc

End Sub

Sub Session_OnEnd

' Nơi chèn đoạn Script cần thiết khi một phiên làm việc kết thúc End Sub

c. Thuộc tính:

Thuộc tính ý nghĩa

SessionID Trả về giá trị nhận biết duy nhất từng phiên làm việc của một ng−ời sử dụng

Timeout Khoảng thời gian ngầm định là 20’ cho sự tồn tại của một phiên làm việc trong một ứng dụng. Máy chủ Web sẽ duy trì thông tin phiên làm việc của ng−ời sử dụng mà không đ−a ra yêu cầu hay làm mới lại một trang.

d. Ph−ơng thức:

™ Abandon: Huỷ bỏ một đối t−ợng Session và giải phóng các biến trong

đối t−ợng Session.

™ Session.Contents.Remove (Name|Integer)

Dùng để xóa tất cả các mục trong collection Session.Contents Có 2 lựa chọn tham số Name hoặc Integer

• Name chỉ tên của mục cần xóa

• Integer là số chỉ vị trí (bắt đầu từ 0) của mục cần xóa.

™ Session.Contents.RemoveAll

Xóa tất cả các mục trong session.contents Ví dụ:

<%Session.Contents.RemoveAll( )%>

Chú ý: Có thể l−u trữ các giá trị trong đối t−ợng Session. Thông tin l−u trữ trong đối t−ợng Session có phạm vi phiên làm việc và có thể sử dụng đ−ợc trong suốt một phiên làm việc.

Một phần của tài liệu Lập trình web động với công nghệ ASP (Trang 31 - 33)

Tải bản đầy đủ (PDF)

(34 trang)