在已經(jīng)發(fā)表的系列文章中我們已經(jīng)討論了兩個ASP對象:Application對象和Session對象,因此能夠訪問Application對象和Session對象提供的集合、方法、屬性和事件。本節(jié)將從程序設(shè)計的角度對這兩個對象進行研究。
· 當(dāng)載入ASP DLL并響應(yīng)對一個ASP網(wǎng)頁的第一個請求時,創(chuàng)建Application對象。該對象提供一個存儲場所,用來存儲對于所有訪問者打開的所有網(wǎng)頁都可用的變量和對象。
· 當(dāng)訪問者首次從站點請求一個ASP頁面時,為他創(chuàng)建一個Session對象,并保持有效直到缺省的超時周期(或由腳本確定的超時周期)。該對象提供一個存儲場所,用來存儲僅僅對該訪問者在會話的活動期間打開的網(wǎng)頁可用的變量和對象。
關(guān)系
1、ASP的Application對象成員概述
本節(jié)說明Application對象的集合、方法和事件(Application對象沒有屬性)。在下一節(jié)對Session對象(具有屬性)進行同樣的說明。然后將繼續(xù)探討使用這些對象所完成的任務(wù),更詳細(xì)地說明每個對象的各成員如何進行工作。
1. Application對象的集合
Application對象提供了兩個集合,可以用來訪問存儲于全局應(yīng)用程序空間中的變量和對象。集合及說明如下所示:
表Application對象的集合及說明
集 合 說 明
Contents 沒有使用<OBJECT>元素定義的存儲于Application對象中的所有變量(及它們的值)的一個集合。包括Variant數(shù)組和Variant類型對象實例的引用
StaticObjects 使用<OBJECT>元素定義的存儲于Application對象中的所有變量(及它們的值)的一個集合
2. Application對象的方法
Application對象的方法允許刪除全局應(yīng)用程序空間中的值,控制在該空間內(nèi)對變量的并發(fā)訪問。方法及說明如下表所示:
表Application對象的方法及說明
方 法 說 明
Contents.Remove(“variable_name”) 從Application.Content集合中刪除一個名為variable_name的變量
Contents.RemoveAll() 從Application.Content集合中刪除所有變量
Lock() 鎖定Application對象,使得只有當(dāng)前的ASP頁面對內(nèi)容能夠進行訪問。用于確保通過允許兩個用戶同時地讀取和修改該值的方法而進行的并發(fā)操作不會破壞內(nèi)容
Unlock() 解除對在Application對象上的ASP網(wǎng)頁的鎖定
注意,在運行期間不能從Application.StaticObjects集合中刪除變量。
3. Application對象的事件
Application對象提供了在它啟動和結(jié)束時觸發(fā)的兩個事件,如下表所示:
表Application對象的事件及說明
事 件 說 明
OnStart 當(dāng)ASP啟動時觸發(fā),在用戶請求的網(wǎng)頁執(zhí)行之前和任何用戶創(chuàng)建Session對象之前。用于初始化變量、創(chuàng)建對象或運行其他代碼
OnEnd 當(dāng)ASP應(yīng)用程序結(jié)束時觸發(fā)。在最后一個用戶會話已經(jīng)結(jié)束并且該會話的OnEnd事件中的所有代碼已經(jīng)執(zhí)行之后發(fā)生。其結(jié)束時,應(yīng)用程序中存在的所有變量被取消
· 當(dāng)載入ASP DLL并響應(yīng)對一個ASP網(wǎng)頁的第一個請求時,創(chuàng)建Application對象。該對象提供一個存儲場所,用來存儲對于所有訪問者打開的所有網(wǎng)頁都可用的變量和對象。
· 當(dāng)訪問者首次從站點請求一個ASP頁面時,為他創(chuàng)建一個Session對象,并保持有效直到缺省的超時周期(或由腳本確定的超時周期)。該對象提供一個存儲場所,用來存儲僅僅對該訪問者在會話的活動期間打開的網(wǎng)頁可用的變量和對象。
關(guān)系
1、ASP的Application對象成員概述
本節(jié)說明Application對象的集合、方法和事件(Application對象沒有屬性)。在下一節(jié)對Session對象(具有屬性)進行同樣的說明。然后將繼續(xù)探討使用這些對象所完成的任務(wù),更詳細(xì)地說明每個對象的各成員如何進行工作。
1. Application對象的集合
Application對象提供了兩個集合,可以用來訪問存儲于全局應(yīng)用程序空間中的變量和對象。集合及說明如下所示:
表Application對象的集合及說明
集 合 說 明
Contents 沒有使用<OBJECT>元素定義的存儲于Application對象中的所有變量(及它們的值)的一個集合。包括Variant數(shù)組和Variant類型對象實例的引用
StaticObjects 使用<OBJECT>元素定義的存儲于Application對象中的所有變量(及它們的值)的一個集合
2. Application對象的方法
Application對象的方法允許刪除全局應(yīng)用程序空間中的值,控制在該空間內(nèi)對變量的并發(fā)訪問。方法及說明如下表所示:
表Application對象的方法及說明
方 法 說 明
Contents.Remove(“variable_name”) 從Application.Content集合中刪除一個名為variable_name的變量
Contents.RemoveAll() 從Application.Content集合中刪除所有變量
Lock() 鎖定Application對象,使得只有當(dāng)前的ASP頁面對內(nèi)容能夠進行訪問。用于確保通過允許兩個用戶同時地讀取和修改該值的方法而進行的并發(fā)操作不會破壞內(nèi)容
Unlock() 解除對在Application對象上的ASP網(wǎng)頁的鎖定
注意,在運行期間不能從Application.StaticObjects集合中刪除變量。
3. Application對象的事件
Application對象提供了在它啟動和結(jié)束時觸發(fā)的兩個事件,如下表所示:
表Application對象的事件及說明
事 件 說 明
OnStart 當(dāng)ASP啟動時觸發(fā),在用戶請求的網(wǎng)頁執(zhí)行之前和任何用戶創(chuàng)建Session對象之前。用于初始化變量、創(chuàng)建對象或運行其他代碼
OnEnd 當(dāng)ASP應(yīng)用程序結(jié)束時觸發(fā)。在最后一個用戶會話已經(jīng)結(jié)束并且該會話的OnEnd事件中的所有代碼已經(jīng)執(zhí)行之后發(fā)生。其結(jié)束時,應(yīng)用程序中存在的所有變量被取消