Một ứng dụng bao gồm các file có thể truy nhập thông qua một th− mục ảo xác định và các th− mục con của nó.
Đối t−ợng Application thể hiện toàn bộ một ứng dụng ASP. Chúng ta có thể sử dụng ứng dụng này để chia sẻ thông tin cho tất cả các ng−ời dùng trong một ứng dụng.
Đối t−ợng Application đ−ợc bắt đầu khi có một yêu cầu đầu tiên một trang web bất kỳ từ th− mục ảo tại Web server và tồn tại cho đến khi Webserver ngừng hoạt động.
a. Tập hợp:
Application.Contents(Key)
Chứa danh sách các mục vừa đ−ợc khởi tạo và đ−a vào đối t−ợng Application.
Ví dụ:
<% Application("name") = "Application Maker" Application("publishdate") = "05/15/01"
Application("author") = "DevGuru"
Set Application("Obj1") = Server.CreateObject("ADODB.Connection") For Each Item in Application.Contents
If IsObject( Application.Contents(Item)) Then Response.Write Item & " is an object.<BR>" Else
Response.Write Item & "=" & Application.Contents(Item) & "<BR>" End If Next %> Kết quả: name=Application Maker publishdate=05/15/01 author=DevGuru OBJ1 is an object
Ph−ơng thức của tập hợp Contents:
• Application.Contents.Remove (Name|Integer)
Loại bỏ mục nào đó trong collection Application.Contents
Name chỉ ra tên mục sẽ xóa, nằm trong cặp dấu nháy (“”). Integer chỉ ra vị
trí mục trong collection sẽ đ−ợc xóa. Giá trị này bắt đầu từ 1. Ví dụ:
<%
Application("name") = "Application Maker" Application("publishdate") = "05/15/01" Application("author") = "DevGuru"
Set Application("Obj1") = Server.CreateObject("ADODB.Connection") Application.Contents.Remove(1)
Application.Contents.Remove("publishdate") For Each Item in Application.Contents
If IsObject(Application.Contents(Item)) Then Response.Write Item & " is an object.<BR>" Else
Response.Write Item & "=" &Application.Contents(Item) & "<BR>" End If Next %> Kết quả: author=DevGuru Obj1 is an object. • Application.Contents.RemoveAll
Loại bỏ tất cả các mục trong collection Application.Contents . Thêm cặp dấu ngoặc ()
<%Application.Contents.RemoveAll()%> Application.StaticObjects(Key)
Chứa tất cả các mục đó đ−ợc tạo trong ứng dụng bằng thẻ <OBJECT. ---Global.asa---
<OBJECT RUNAT=Server SCOPE=Application ID=MyInfo PROGID="MSWC.MyInfo">
</OBJECT>
<OBJECT RUNAT=Server SCOPE=Application ID=MyConnection PROGID="ADODB.Connection">
</OBJECT>
<OBJECT RUNAT=Server SCOPE=Application ID=MyADRot PROGID="MSWC.ADRotator">
</OBJECT>
---File.asp--- <%
For Each Item In Application.StaticObjects Response.Write Item & "<BR>"
Next %>
Kết quả: MyInfo
MyConnection MyADRot
b. Sự kiện:
ứng với hai hoạt động bắt đầu và kết thúc một đối t−ợng Application ta có hai sự kiện trong đối t−ợng Application, đó là:
Application_OnStart (khởi tạo các thông tin phục vụ cho một ứng dụng khi
ứng dụng bắt đầu) và Application_OnEnd (đ−ợc kích hoạt khi ứng dụng kết thúc) Cú pháp của sự kiện Application_OnStart:
<SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Application_OnStart
' Nơi chèn đoạn Script cần thiết cho việc khởi tạo một ứng dụng End Sub
Sub Application_OnEnd
' Nơi chèn đoạn Scipt cần thiết cho việc kết thúc một ứng dụng End Sub
</SCRIPT>
Chú ý: Phải khai báo ngôn ngữ script đ−ợc sử dụng trong các đoạn script sự kiện trong dòng đầu tiên của file global.asa
- Các đối t−ợng của ASP trong phần này chỉ có SERVER và APPLICATION ---Global.asa---
<script Language="VBScript" RUNAT=Server> Sub Application_OnEnd() End Sub Sub Application_OnStart() Application("NumSession") = 0 Application("NumVisited") = 0 Session.Timeout = 10 End Sub Sub Session_OnEnd() Application("NumSession") = Application("NumSession") – 1 End Sub Sub Session_OnStart() Application("NumSession") = Application("NumSession") + 1 Application("NumVisited") = Application("NumVisited") + 1 End Sub </script> ---File1.asp---
Response.Write "You are " & Application("NumSession") & " of " & Application("NumVisited") & " users."
Kết quả:
You are 1 of 1 users.
c. Ph−ơng thức:
Vì đối t−ợng Application có thể đ−ợc chia sẻ thông tin giữa các ng−ời dùng do đó để đảm bảo những ng−ời dùng đó không thể cùng một lúc thay đổi nội dung của một biến trong đối t−ợng Application nó có hai ph−ơng thức là Lock và Unlock.
Ph−ơng thức ý nghĩa
Lock Ph−ơng thức Lock ngăn cản các client khác cùng một lúc thay đổi giá trị của một biến do đối t−ợng Application l−u trữ
Unlock Ph−ơng thức Unlock cho phép các client có thể sửa đổi các thuộc tính của đối t−ợng Application .