第6章-Application對象與Session對象_第1頁
第6章-Application對象與Session對象_第2頁
第6章-Application對象與Session對象_第3頁
第6章-Application對象與Session對象_第4頁
第6章-Application對象與Session對象_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

教材第06章Application對象與Session對象本章將介紹兩個重要的ASP內(nèi)建對象——Application對象與Session對象。其中,Application對象可以在所有用戶之間共享信息,并在服務器運行期間持久地保存數(shù)據(jù)。而且Application對象對象還有控制訪問應用層數(shù)據(jù)的方法和可用于在應用程序啟動和停止時觸發(fā)過程的事件。Session對象對象更接近于普通應用程序中的全局變量,全局變量在程序執(zhí)行的過程中始終有效,其他用戶同時啟動該程序的另一個副本,該程序的兩個實例使用各自的全局變量,在兩個進程之間不能互相訪問信息。6.1Application對象6.2Session對象6.3Global.asa文件6.1Application對象

主題6.1.1Application對象概述

Application對象是個應用程序級的對象,它可以產(chǎn)生一個全部的Web應用程序都可以存取的變量,所有的客戶都可以訪問這個變量。應用程序是駐留在Web站點的特定目錄中的一組文件。每個Web站點上可以有多個應用程序,還可以根據(jù)某個任務為一些ASP文件創(chuàng)建一個應用程序。例如,創(chuàng)建一個應用程序為全部客戶服務后,再創(chuàng)建一個新的應用程序來為網(wǎng)絡管理員服務。應用程序的運行實例用Application對象表示,其生存期從請求該應用程序的第一個頁面開始(不是從服務器啟動開始),直到Web站點關閉時結束。由于存儲在Application對象中的數(shù)據(jù)可以被應用程序的所有用戶共享,因而Application對象特別適合在應用程序的不同用戶之間傳遞信息。6.1.2Application對象的屬性Application對象沒有內(nèi)置屬性,用戶可根據(jù)需要自行創(chuàng)建。創(chuàng)建一個屬性后,在整個應用程序運行期間,此屬性的值都可以被所有的用戶訪問。如下面的代碼定義了一個Application對象的屬性Welcome:<%Application("Welcome")="本網(wǎng)站屬于非贏利性商業(yè)網(wǎng)站"%>6.1.3Application對象的方法Application對象對于網(wǎng)站所有的網(wǎng)頁和在線用戶來說,是一個公開的對象,因此,任何人在任何時間都有可能對其進行存取。當一個Application對象在同一個時間被存取,此時沖突就會發(fā)生,因此,對于Application對象,適當?shù)叵拗朴脩舸嫒》浅V匾?/p>

Application對象包含Lock和UnLock兩種方法。Lock方法用于鎖定Application對象,保證同一時刻只有一個用戶可以操作其中的數(shù)據(jù),避免多個用戶同時修改同一數(shù)據(jù)而產(chǎn)生的沖突。UnLock方法用于解除Lock方法對數(shù)據(jù)的鎖定,以便其他用戶能訪問和修改Application對象的屬性。Lock和UnLock這兩種方法總是成對出現(xiàn)的,這樣可以確保Application對象中數(shù)據(jù)對所有用戶的完整性和一致性。6.1.4Application對象的事件Application對象包含Application_OnStart和Application_OnEnd兩個事件。當網(wǎng)站的第一個用戶通過瀏覽器打開一份網(wǎng)頁的時候,Application對象就會被自動創(chuàng)建,與此同時,Application對象所定義的OnStart事件便會被觸發(fā),對于ASP網(wǎng)頁的程序設計師而言,會將焦點放在所觸發(fā)的OnStart事件,整個網(wǎng)站一開始所要執(zhí)行的工作、初始化操作的相關程序代碼,都可以在這個事件里面作處理。6.1.5使用Application對象保存數(shù)據(jù)在Application對象中,它保存的內(nèi)容除了可以是簡單數(shù)據(jù)類型的變量和普通對象外,還可以是一個保存有多個值的數(shù)組。創(chuàng)建的過程中要求定義一個普通的數(shù)組并將值賦給它,然后將數(shù)組整體定義為一個Application對象,如下例所示:<%dimArray()Array=Application("array")fori=0toubound(array)Response.writeArray(i)nexti%>6.2Session對象6.2.1Session對象概述Web上用在瀏覽器和服務器之間傳送請求和響應的HTTP協(xié)議是無狀態(tài)協(xié)議,Web服務器將每個頁面請求都當作獨立的請求,服務器不保留以前請求的任何信息。

ASP的Session對象彌補了HTTP無法記憶先前請求的缺陷。Session對象可用來標識每次訪問的用戶并收集信息,用戶在應用程序的頁面之間跳轉時,該Session信息仍然存在并保持不變。在用戶與網(wǎng)站服務器保持聯(lián)系期間,應用程序可調(diào)用這些存儲的信息來跟蹤用戶的喜好或選擇。6.2.2Session對象的屬性1.SessionID屬性2.TimeOut屬性6.2.3Session對象的方法Abandon方法是Session對象的唯一方法,Abandon方法可以用來刪除用戶的Session對象并釋放其所占用的資源。下面的語句將用于消除Session對象:<%Session.Abandon%>6.2.4Session對象的事件Session對象包含Session_OnStart和Session_OnEnd兩個事件。當網(wǎng)站一個新的用戶上線通過瀏覽器請求一份網(wǎng)頁的時候,這個用戶的專屬Session對象就會被創(chuàng)建。Session對象所定義的OnStart事件同時被觸發(fā)。當一個用戶離線或是停止任何瀏覽網(wǎng)頁操作時,一旦過了Session對象的存活期限,代表此用戶的Session對象就會被結束。此時OnEnd事件即會被觸發(fā),處理用戶離線時所需的程序代碼可以放在這個事件里面作處理。6.2.5使用Session記錄用戶登錄信息本節(jié)以一個簡單的實例,介紹利用Session對象來記錄變量內(nèi)容的方法。6.3Global.asa文件Global.asa文件是一個文本文件,可使用任何文本編輯器進行編輯。下面就是一個標準的空白Global.asa文件結構:<SCRIPTLANGUAGE=VBScriptRUNAT=Server>SubApplication_OnStart'當?shù)谝粋€用戶運行ASP應用程序中的任何一個頁面時執(zhí)行EndSubSubApplication_OnEnd'當Web服務器關閉時執(zhí)行EndSubSubSession_OnStart'用戶第一次運行ASP應用程序中的任何一個頁面時執(zhí)行EndSub

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論