Đối tượng Session, Application

Một phần của tài liệu Tài liệu giảng dạy Asp.net (Trang 123 - 126)

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

Một phần của tài liệu Tài liệu giảng dạy Asp.net (Trang 123 - 126)

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

(175 trang)