Application và Session là 2 đối tượng khá quan trọng trong ứng dụng web, giúp các trang aspx cĩ thể liên kết và trao đổi dữ liệu cho nhau. Trong phần này, chúng ta sẽ tìm hiểu và sử dụng 2 đối tượng này trong ứng dụng.
Quan hệ giữa Session và Application
Web Server
Web Site
Application
Session Session Session
II.1. Đối tượng Application
Đối tượng Application được sử dụng để quản lý tất cả các thơng tin của một ứng dụng web. Thơng tin được lưu trữ trong đối tượng Application cĩ thể được xử lý trong bất kỳ trang aspx nào trong suốt chu kỳ sống của ứng dụng. II.1.1. Sử dụng biến Application Tạo biến Application Application("Tên biến") = <giá trị> Lấy giá trị từ biến Application <biến> = Application("Tên biến") Ví dụ: Application.Lock() Application("So_lan_truy_cap") = 0 Application("So_nguoi_online") = 0 Application.UnLock() Chú ý:
Do tại một thời điểm cĩ thể cĩ nhiều người cùng lúc truy cập và thay đổi giá trị của các thơng tin
được lưu trong đối tượng Application, chúng ta nên sử dụng bộ lệnh Lock và UnLock ngay trước và sau khi cập nhật giá trị của biến Application.
Biến Application cĩ thểđược sử dụng ở bất kỳ trang nào và được duy trì trong suốt chu kỳ sống của
ứng dụng.
II.1.2. Duyệt qua tập hợp biến chứa trong Application
Dim i As Integer Response.Write("<b><u>Danh sách các biến trong đối _ tượng Application</u></b><br>") For i = 0 To Application.Count() - 1 Response.Write(Application.Keys(i) & " : ") Response.Write(Application(i) & "<br />") Next i Kết quả hiển thị
II.2. Đối tượng Session
Đối tượng Session được dùng để lưu trữ thơng tin của người dùng trong ứng dụng. Thơng tin được lưu trữ trong Session là của một người dùng trong một phiên làm việc cụ thể. Web Server sẽ tự động tạo một đối tượng Session cho mỗi người dùng mới kết nối vào ứng dụng và tự động hủy chúng nếu người dùng cịn khơng làm việc với ứng dụng nữa.
Tuy nhiên, khơng giống như đối tượng Application, đối tượng Session khơng thể chia sẻ thơng tin giữa những lần làm việc của người dùng, nĩ chỉ cĩ thể cung cấp, trao đổi thơng tin cho các trang trong lần làm việc tương ứng.
Trong ứng dụng web, đối tượng Session giữ vai trị khá quan trọng. Do sử dụng giao thức HTTP, một giao thức phi trạng thái, Web Server hồn tồn khơng ghi nhớ những gì giữa những lần yêu cầu của Client. Đối tượng Session tỏ ra khá hữu hiệu trong việc thực hiện "lưu vết và quản lý thơng tin của người dùng".
II.2.1. Thuộc tính & Phương thức a. Thuộc tính Timeout
Qui định khoảng thời gian (tính bằng phút) mà Web Server duy trì đối tượng Session nếu người dùng khơng gởi yêu cầu nào về lại Server. Giá trị mặc định của thuộc tính này là 20.
Nếu khơng cĩ yêu cầu nào kể từ lần yêu cầu sau cùng một khoảng thời gian là <Timeout> phút, đối tượng Session mà Web server cấp cho lần làm việc đĩ sẽ tựđộng được giải phĩng. Những yêu cầu sau đĩ được Web server coi như là một người dùng mới, và đương nhiên sẽ được cấp một đối tượng Session mới.
b. Phương thức Abandon
Như các bạn đã biết, trong khoảng thời gian <Timeout> phút kể từ lần yêu cầu sau cùng của Client,
đối tượng Session vẫn được duy trì dù cho khơng cĩ sự tương tác nào của Client. Điều này đồng nghĩa với việc Web server phải sử dụng một vùng nhớ để duy trì đối tượng Session trong một khoảng thời gian tương ứng.
Phương thức Abandon của đối tượng Session sẽ giải phĩng vùng nhớ được dùng để duy trì đối tượng Session trên Web Server ngay khi được gọi thực hiện. Những yêu cầu sau đĩ được Web server coi như là một người dùng mới.
II.2.2. Sử dụng biến tồn cục với Session Tạo biến Session Session("Tên biến") = <giá trị> Lấy giá trị từ biến Session <biến> = Session("Tên biến") Ví dụ:
Lưu trữ thơng tin khi người dùng chưa đăng nhập hệ thống: Session("Mkh") = 0
Session("Ten_dang_nhap") = ""
Khi người dùng đăng nhập hệ thống thành cơng, cập nhật lại thơng tin đăng nhập của người dùng
được lưu trên Session. Session("Mkh") = 1
Session("Ten_dang_nhap") = "dlthien" Duyệt qua tập hợp biến chứa trong Session
Dim i%
For i = 0 To Session.Count() - 1
Response.Write(Session.Keys(i) & " : ") Response.Write(Session(i) & "<br/>") Next