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