Đốitượng APPLICATION

Một phần của tài liệu Bai giang Internet-intranet pot (Trang 111 - 113)

5.7.4.1. Khái niệm

Một ứng dụng trên web là một tập hợp các trang có thể truy cập thông tin qua một thư mục ảo xác định nào đó. Các trang này làm việc cùng nhau để thực hiện một mục đích hoặc một công việc nào đó. Và đối tượng Application dùng để tạo ra mối liên kết giữa các trang này.

Do đối tượng Application dùng để chia sẻ thông tin giữa các trang nên Application là toàn cục với mọi trang trong web. Và là toàn cục với tất cả client sử dụng trang web này, việc thay đổi một thuộc tính của Application tại một vị trí sẽ tạo ra sự thay đổi ở tất cả các vị trí khác.

Các biến Application chỉ được tạp ra trong Global.asa nhưng có thể được truy nhập và sửa đổi bởi bất cứ một trang nào trong web.

Đối tượng Application được khởi tạo vào lúc máy khách đầu tiên yêu cầu bất kì một file nào trong thư mục ảo của web.

* Ví dụ sử dụng Application

5.7.4.2. Các tập hợp của đối tượng Application

a. Contents(Key):

Tập hợp này chứa tất cả các biến được giới hạn ở mức độ ứng dụng và các đối tượng được bổ xung vào ứng dụng hiện tại thông qua các script.

Tập hợp này là tập hợp mặc định của Application nên hai cách viết sau đây là hoàn toàn tương đương:

Application("dbTimeOut") = 15

Application.Contents("dbTimeOut") = 15

Tập hợp này có các thuộc tính Item, Key, Count, Chi tiết xem lại bài tập hợp

b. StaticObject(Key):

Thuộc tính này dùng để truy xuất các đối tượng được định nghĩa trong tập hợp. Tập hợp này có các thuộc tính Item, Key, Count, Chi tiết xem lại bài tập hợp

5.7.4.3. Các phương thức

a. Phương thức Lock

Phương thức này dùng để ngăn cản không cho người dùng khác thay đổi giá trị các biến trong tập hợp Application. Sử dụng phương thức này để giải quyết vấn đề tương tranh giữa các người sử dụng.

Phương thức này sẽ khóa toàn bộ đối tượng Application (ta không thể thay đổi được bất cứ một thuộc tính nào) do đó ta phải sử dụng phương thức này trong thời gian ít nhất có thể.

* Cú pháp: Application.Lock

b. Phương thức UnLock

* Chức năng: Tháo khóa ta đã đặt bằng phương thức Lock ở trên * Cú pháp: Application.UnLock

c. Cách sử dụng Lock và UnLock

Ví dụ:

5.7.4.4. Các sự kiện

Đối tượng Application chỉ có hai sự kiện là + Application_OnStart

+ Application_OnEnd

Đây là hai sự kiện được xử lý trong file cấu hình Global.asa đã được đề cập ở Bài 3

5.7.4.5. Vấn đề lưu trữ dữ liệu bằng đối tượng Application

Về bản chất, đối tượng Application cũng là một biến nằm trong bộ nhớ của máy chủ, ta không nên lưu trữ dữ liệu lâu dài trong đối tượng Application. Dữ liệu trên biến Application sẽ bị mất sau khi sự kiện Application_OnEnd xảy ra. (adsbygoogle = window.adsbygoogle || []).push({});

Nếu ta muốn lưu trữ lại những dữ liệu nào đó của Application thì ta cần viết các mã lệnh xử lý lưu trữ (đưa các giá trị biến này vào trong những dữ liệu chắc chắn nằm trên bộ nhớ ngoài như file, cơ sở dữ liệu...) trong thủ tục đáp ứng sự kiện Application_OnEnd. Đến khi ứng dụng được khởi động lại, ta cần đọc lại các giá trị đã lưu vào bộ nhớ trong thủ tục đáp ứng sự kiện Application.OnStart

Một phần của tài liệu Bai giang Internet-intranet pot (Trang 111 - 113)