亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

ASP基礎入門第八篇(ASP內建對象Application和Session)

2024-05-04 11:10:08
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了ASP內建對象Application和Session的相關資料,需要的朋友可以參考下

在上一篇中作者給大家詳細介紹了 ASP 內建對象 Response 的使用方法,在這一篇中作者將繼續給大家介紹另兩個非常實用且重要的 ASP 的內建對象 Application 和 Session。

在 ASP 的內建對象中除了用于發送、接收和處理數據的對象外,還有一些非常實用的代表 Active Server 應用程序和單個用戶信息的對象。

讓我們先來看看 Application 對象。在同一虛擬目錄及其子目錄下的所有 .asp 文件構成了 ASP 應用程序。我們非但可以使用 Application 對象,在給定的應用程序的所有用戶之間共享信息,并在服務器運行期間持久的保存數據。而且,Application 對象還有控制訪問應用層數據的方法和可用于在應用程序啟動和停止時觸發過程的事件。

下面就讓我們一起來學習 Application 對象。

一、屬性

雖然 Application 對象沒有內置的屬性,但我們可以使用以下句法設置用戶定義的屬性也可稱為集合。

Application(" 屬性 / 集合名稱 ")= 值

我們可以使用如下腳本聲明并建立 Application 對象的屬性。

 

 
  1. < % 
  2. Application("MyVar") = "Hello" 
  3. Set Application("MyObj") = Server.CreateObject("MyComponent"
  4. %> 

一旦我們分配了 Application 對象的屬性,它就會持久地存在,直到關閉 WEB 服務器服務使得 Application 停止。由于存儲在 Application 對象中的數值可以被應用程序的所有用戶讀取,所以 Application 對象的屬性特別適合在應用程序的用戶之間傳遞信息。

二、方法

Application 對象有兩個方法,它們都是用于處理多個用戶對存儲在 Application 中的數據進行寫入的問題

1、Lock 方法禁止其他客戶修改 Application 對象的屬性。

Lock 方法阻止其他客戶修改存儲在 Application 對象中的變量,以確保在同一時刻僅有一個客戶可修改和存取 Application 變量。如果用戶沒有明確調用 Unlock 方法,則服務器將在 .asp 文件結束或超時后即解除對 Application 對象的鎖定。

讓我們來看看下面這段用 Application 來記錄頁面訪問次數的程序 :

< %

Dim NumVisitsNumVisits=0

Application.LockApplication("NumVisits") = Application("NumVisits") + 1

Application.Unlock

%>

歡迎光臨本網頁,你是本頁的第 < %= Application("NumVisits") %> 位訪客 !

將以上腳本保存在你的 .asp 文件中,就輕而易舉地給你的頁面添加了一個計數器。

2、和 Lock 方法相反,Unlock 方法允許其他客戶修改 Application 對象的屬性。

在上面的例子中,上述例子中,Unlock 方法解除對象的鎖定,使得下一個客戶端能夠增加 NumVisits 的值。

三、事件

1、Application_OnStart

Application_OnStart 事件在首次創建新的會話 ( 即 Session_OnStart 事件 ) 之前發生。當 WEB 服務器啟動并允許對應用程序所包含的文件進行請求時就觸發 Application_OnStart 事件。Application_OnStart 事件的處理過程必須寫在 Global.asa 文件之中。

Application_OnStart 事件的語法如下 :

 

 
  1. < SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server> 
  2. Sub Application_OnStart. . . 
  3. End Sub 
  4. < /SCRIPT> 

2、Application_OnEnd

Application_OnEnd 事件在應用程序退出時于 Session_OnEnd 事件之后發生,Application_OnEnd 事件的處理過程也必須寫在 Global.asa 文件之中。

下面讓我們來看看在使用 Application 對象時必須注意的事項。

不能在 Application 對象中存儲 ASP 內建對象。例如,下面的每一行都返回一個錯誤。

 

 
  1. < % 
  2. Set Application("var1")=Session 
  3. Set Application("var2")=Request 
  4. Set Application("var3")=Response 
  5. Set Application("var4")=Server 
  6. Set Application("var5")=Application 
  7. Set Application("var6")=ObjectContext 
  8. %> 

若您將一個數組存儲在 Application 對象中,請不要直接更改存儲在數組中的元素。例如,下列的腳本無法運行。

< % Application("StoredArray")(3) = "new value" %>

這是因為 Application 對象是作為集合被實現的。數組元素 StoredArray(3) 未獲得新的賦值。而此值將包含在 Application 對象集合中,并將覆蓋此位置以前存儲的任何信息。建議您在將數組存儲在 Application 對象中時,在檢索或改變數組中的對象前獲取數組的一個副本。在對數組操作時,您應再將數組全部存儲在 Application 對象中,這樣您所做的任何改動將被存儲下來。下列的腳本對此進行演示。

---asp8a.asp---

 

 
  1. < % 
  2. dim MyArray() 
  3. Redim MyArray(5) 
  4. MyArray(0)="hello" 
  5. MyArray(1)="some other string" 
  6. Application.Lock 
  7. Application("StoredArray")=MyArray 
  8. Application.Unlock 
  9. Response.Redirect "asp8b.asp" 
  10. %> 

---asp8b.asp---

 

 
  1. < % 
  2. LocalArray=Application("StoredArray"
  3. LocalArray(1)=" there" 
  4. Response.Write LocalArray(0)&LocalArray(1) 
  5. Application.Lock 
  6. Application("StoredArray")=LocalArray 
  7. Application.Unlock 
  8. %> 

與 Application 對象具有相近作用的另一個非常實用的 ASP 內建對象就是 Session。我們可以使用 Session 對象存儲特定的用戶會話所需的信息。當用戶在應用程序的頁之間跳轉時,存儲在 Session 對象中的變量不會清除,而用戶在應用程序中訪問頁面時,這些變量始終存在。當用戶請求來自應用程序的 Web 頁時,如果該用戶還沒有會話,則 Web 服務器將自動創建一個 Session 對象。當會話過期或被放棄后,服務器將終止該會話。

通過向客戶程序發送唯一的 Cookie 可以管理服務器上的 Session 對象。當用戶第一次請求 ASP 應用程序中的某個頁面時,ASP 要檢查 HTTP 頭信息,查看是否有在報文中有名為 ASPSESSIONID 的 Cookie 發送過來,如果有,則服務器會啟動新的會話,并為該會話生成一個全局唯一的值,在把這個值作為新 ASPSESSIONID Cookie 的值發送給客戶端,正是使用這種 Cookie,可以訪問存儲在服務器上的屬于客戶程序的信息。Session 對象最常見的作用就是存儲用戶的首選項。例如,如果用戶指明不喜歡查看圖形,就可以將該信息存儲在 Session 對象中。另外其還經常被用在鑒別客戶身份的程序中。要注意的是,會話狀態僅在支持 cookie 的瀏覽器中保留,如果客戶關閉了 Cookie 選項,Session 也就不能發揮作用了。

一、屬性

1、SessionID

SessionID 屬性返回用戶的會話標識。在創建會話時,服務器會為每一個會話生成一個單獨的標識。會話標識以長整形數據類型返回。在很多情況下 SessionID 可以用于 WEB 頁面注冊統計。

2、TimeOut

Timeout 屬性以分鐘為單位為該應用程序的 Session 對象指定超時時限。如果用戶在該超時時限之內不刷新或請求網頁,則該會話將終止。

二、方法

Session 對象僅有一個方法,就是 Abandon,Abandon 方法刪除所有存儲在 Session 對象中的對象并釋放這些對象的源。如果您未明確地調用 Abandon 方法,一旦會話超時,服務器將刪除這些對象。當服務器處理完當前頁時,下面示例將釋放會話狀態。

< % Session.Abandon %>

三、事件

Session 對象有兩個事件可用于在 Session 對象啟動和釋放是運行過程。

1、Session_OnStart 事件在服務器創建新會話時發生。服務器在執行請求的頁之前先處理該腳本。Session_OnStart 事件是設置會話期變量的最佳時機,因為在訪問任何頁之前都會先設置它們。

盡管在 Session_OnStart 事件包含 Redirect 或 End 方法調用的情況下 Session 對象仍會保持,然而服務器將停止處理 Global.asa 文件并觸發 Session_OnStart 事件的文件中的腳本。

為了確保用戶在打開某個特定的 Web 頁時始終啟動一個會話,就可以在 Session_OnStart 事件中調用 Redirect 方法。當用戶進入應用程序時,服務器將為用戶創建一個會話并處理 Session_OnStart 事件腳本。您可以將腳本包含在該事件中以便檢查用戶打開的頁是不是啟動頁,如果不是,就指示用戶調用 Response.Redirect 方法啟動網頁。程序如下 :

 

 
  1. < SCRIPT RUNAT=Server Language=VBScript> 
  2. Sub Session_OnStart 
  3. startPage = "/MyApp/StartHere.asp" 
  4. currentPage = Request.ServerVariables("SCRIPT_NAME"
  5. if strcomp(currentPage,startPage,1) then 
  6. Response.Redirect(startPage) 
  7. end if 
  8. End Sub 
  9. < /SCRIPT> 

上述程序只能在支持 cookie 的瀏覽器中運行。因為不支持 cookie 的瀏覽器不能返回 SessionID cookie,所以,每當用戶請求 Web 頁時,服務器都會創建一個新會話。這樣,對于每個請求服務器都將處理 Session_OnStart 腳本并將用戶重定向到啟動頁中。

2、Session_OnEnd 事件在會話被放棄或超時發生。

關于使用 Session 對象需要注意的事項 Application 對象相近,請參照前文。

會話可以通過以下三種方式啟動 :

1、一個新用戶請求訪問一個 URL,該 URL 標識了某個應用程序中的 .asp 文件,并且該應用程序的 Global.asa 文件包含 Session_OnStart 過程。

2、用戶在 Session 對象中存儲了一個值。

3、用戶請求了一個應用程序的 .asp 文件,并且該應用程序的Global.asa 文件使用 < OBJECT> 標簽創建帶有會話作用域的對象的實例。

如果用戶在指定時間內沒有請求或刷新應用程序中的任何頁,會話將自動結束。這段時間的默認值是 20 分鐘??梢酝ㄟ^在 Internet 服務管理器中設置“應用程序選項”屬性頁中的“會話超時”屬性改變應用程序的默認超時限制設置。應依據您的 Web 應用程序的要求和服務器的內存空間來設置此值。例如,如果您希望瀏覽您的 Web 應用程序的用戶在每一頁僅停留幾分鐘,就應該縮短會話的默認超時值。過長的會話超時值將導致打開的會話過多而耗盡您的服務器的內存資源。對于一個特定的會話,如果您想設置一個小于默認超時值的超時值,可以設置 Session 對象的 Timeout 屬性。例如,下面這段腳本將超時值設為 5 分鐘。

< % Session.Timeout = 5 %>

當然你也可以設置一個大于默認設置的超時值,Session.Timeout 屬性決定超時值。你還可以通過 Session 對象的 Abandon 方法顯式結束一個會話。例如,在表格中提供一個“退出”按鈕,將按鈕的 ACTION 參數設置為包含下列命令的 .asp 文件的 URL。

< % Session.Abandon %>

今天,我們學習了兩個在WEB 頁面特別是基于WEB 的BBS 或Chat 上經常使用 ASP 內建對象,由于這兩個對象在實際運用中很實用,因此在下一篇中作者將運用至此我們所學過的4 個ASP 內建對象,給大家演示一個完整的 ASP 應用程序,相信通過這個練習,能大大加深你對 ASP 應用程序的理解和掌握。

以上就是本文的全部內容,希望對大家學習ASP內建對象Application和Session有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久影院资源站| 亚洲视频日韩精品| 欧美日韩国产麻豆| 成人久久久久久| 九九视频这里只有精品| 日韩中文字幕在线| 欧美国产精品人人做人人爱| 91色视频在线导航| 欧美日韩在线观看视频小说| 欧美香蕉大胸在线视频观看| 国产美女精品视频免费观看| 精品亚洲国产成av人片传媒| 亚洲精品理论电影| 88国产精品欧美一区二区三区| 日韩电影第一页| 成人亚洲欧美一区二区三区| 欧美激情第1页| 日韩av男人的天堂| 亚洲xxx大片| 国产精品成人av性教育| 日韩av免费观影| 国产又爽又黄的激情精品视频| 国产亚洲aⅴaaaaaa毛片| 亚洲第一中文字幕在线观看| 国产一级揄自揄精品视频| 国内精品400部情侣激情| 亚洲精品按摩视频| 欧美国产日韩精品| 精品久久久久久亚洲精品| 日韩精品亚洲视频| 欧美激情一区二区三级高清视频| 亚洲国产第一页| 日韩欧美在线国产| 欧美性受xxxx黑人猛交| 日韩中文第一页| 精品无码久久久久久国产| 91黑丝在线观看| 欧美中文字幕视频在线观看| 中文字幕亚洲二区| 日韩成人在线播放| 欧美性高潮在线| 国产精品久久久久久一区二区| 午夜精品久久久久久99热软件| 久久精品国产69国产精品亚洲| 亚洲影院高清在线| 热久久美女精品天天吊色| 久久久久久12| 亚洲影影院av| 欧美高清videos高潮hd| 成人h视频在线| 热久久这里只有精品| 欧美精品www在线观看| 丝袜情趣国产精品| 欧美精品18videos性欧美| 日韩免费在线免费观看| 亚洲国产小视频| 成人免费福利视频| 好吊成人免视频| 久久久视频在线| 国产日韩精品在线播放| 国产福利精品在线| 亚洲美女性生活视频| 欧美性猛交xxxx乱大交| 亚洲精品有码在线| 亚洲a中文字幕| 日韩美女主播视频| 国产精品1区2区在线观看| 久久亚洲欧美日韩精品专区| 久久久久久999| 久久久久久久久久久免费| 国产中文欧美精品| 久久久久成人精品| 18性欧美xxxⅹ性满足| 欧美大尺度在线观看| 日韩在线中文字幕| 亚洲第一天堂无码专区| 久久视频在线免费观看| 久久久国产视频| 91久久综合亚洲鲁鲁五月天| 91精品国产自产在线老师啪| 国产精品欧美日韩久久| 色www亚洲国产张柏芝| 51色欧美片视频在线观看| 亚洲福利在线看| 色老头一区二区三区| 亚洲第一区第二区| 高清亚洲成在人网站天堂| 精品欧美激情精品一区| 一个人看的www欧美| 国产剧情久久久久久| 亚洲品质视频自拍网| 亚洲欧美日韩综合| 国内外成人免费激情在线视频网站| 成人免费网站在线观看| 中文字幕亚洲专区| 亚洲黄色在线看| 综合激情国产一区| 精品视频9999| 51午夜精品视频| 26uuu国产精品视频| 亚洲毛片在线观看.| 亚洲国产日韩欧美综合久久| 久久99亚洲精品| 97视频免费在线观看| 亚洲aa在线观看| 欧美最猛性xxxx| 国产精品福利在线观看| 亚洲www视频| 日韩亚洲成人av在线| 成人欧美一区二区三区黑人孕妇| 日韩成人av网址| 国产伦精品一区二区三区精品视频| 成人激情综合网| 亚洲高清免费观看高清完整版| 九九精品视频在线观看| 欧美日韩成人黄色| 国产主播在线一区| 久久国产精品久久久| 日韩美女视频在线观看| 91久久精品视频| 日韩在线视频网站| 国产亚洲激情视频在线| 国产精品视频免费在线| 91夜夜揉人人捏人人添红杏| 久久韩剧网电视剧| 97视频在线观看网址| 色播久久人人爽人人爽人人片视av| 九九视频这里只有精品| 国产成人a亚洲精品| 欧美精品在线第一页| 亚洲视屏在线播放| 久久天天躁狠狠躁夜夜躁2014| 午夜美女久久久久爽久久| 国产97在线播放| 亚洲伊人成综合成人网| 中文字幕精品影院| www.亚洲一二| 97婷婷大伊香蕉精品视频| 欧美日韩中文字幕日韩欧美| 日本a级片电影一区二区| 精品久久久久久中文字幕| 亚洲区在线播放| 伊人久久男人天堂| 欧美日韩性生活视频| 国语自产偷拍精品视频偷| 川上优av一区二区线观看| 国产精品观看在线亚洲人成网| 高潮白浆女日韩av免费看| 亚洲午夜色婷婷在线| 欧洲亚洲女同hd| 国产精品露脸av在线| 欧美日韩一区二区三区在线免费观看| 国产亚洲精品久久久优势| 色综合老司机第九色激情| 精品丝袜一区二区三区| 亚洲日本aⅴ片在线观看香蕉| 国产日韩中文字幕| 亚洲欧美在线免费| 日韩精品福利网站| 久久免费少妇高潮久久精品99| 国产精欧美一区二区三区| 尤物99国产成人精品视频| 日韩av一区二区在线观看| 欧美激情xxxx性bbbb|