當(dāng)前位置: 首頁(yè)IT技術(shù) → 關(guān)于ASP內(nèi)置對(duì)象Application的詳細(xì)解說(shuō)

關(guān)于ASP內(nèi)置對(duì)象Application的詳細(xì)解說(shuō)

更多

本文提供的是關(guān)于ASP內(nèi)置對(duì)象Application的詳細(xì)解說(shuō),ASP初學(xué)者們可以進(jìn)來(lái)學(xué)習(xí)學(xué)習(xí)。

在 ASP 的內(nèi)建對(duì)象中除了用于發(fā)送、接收和處理數(shù)據(jù)的對(duì)象外,還有一些非常實(shí)用的代表 Active Server 應(yīng)用程序和單個(gè)用戶(hù)信息的對(duì)象。 
  
  讓我們先來(lái)看看 Application 對(duì)象。在同一虛擬目錄及其子目錄下的所有 .asp 文件構(gòu)成了 ASP 應(yīng)用程序。我們非但可以使用 Application 對(duì)象,在給定的應(yīng)用程序的所有用戶(hù)之間共享信息,并在服務(wù)器運(yùn)行期間持久的保存數(shù)據(jù)。而且,Application 對(duì)象還有控制訪問(wèn)應(yīng)用層數(shù)據(jù)的方法和可用于在應(yīng)用程序啟動(dòng)和停止時(shí)觸發(fā)過(guò)程的事件。

  下面就讓我們一起來(lái)學(xué)習(xí) Application 對(duì)象。 
  
  一、屬性 
  
  雖然 Application 對(duì)象沒(méi)有內(nèi)置的屬性,但我們可以使用以下句法設(shè)置用戶(hù)定義的屬性也可稱(chēng)為集合。 
  
  Application(" 屬性 / 集合名稱(chēng) ")= 值 
  
  我們可以使用如下腳本聲明并建立 Application 對(duì)象的屬性。

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

  一旦我們分配了 Application 對(duì)象的屬性,它就會(huì)持久地存在,直到關(guān)閉 Web 服務(wù)器服務(wù)使得 Application 停止。由于存儲(chǔ)在 Application 對(duì)象中的數(shù)值可以被應(yīng)用程序的所有用戶(hù)讀取,所以 Application 對(duì)象的屬性特別適合在應(yīng)用程序的用戶(hù)之間傳遞信息。

  二、方法

  Application 對(duì)象有兩個(gè)方法,它們都是用于處理多個(gè)用戶(hù)對(duì)存儲(chǔ)在 Application 中的數(shù)據(jù)進(jìn)行寫(xiě)入的問(wèn)題 

  1、Lock 方法禁止其他客戶(hù)修改 Application 對(duì)象的屬性。

  Lock 方法阻止其他客戶(hù)修改存儲(chǔ)在 Application 對(duì)象中的變量,以確保在同一時(shí)刻僅有一個(gè)客戶(hù)可修改和存取 Application 變量。如果用戶(hù)沒(méi)有明確調(diào)用 Unlock 方法,則服務(wù)器將在 .asp 文件結(jié)束或超時(shí)后即解除對(duì) Application 對(duì)象的鎖定。
  
     讓我們來(lái)看看下面這段用 Application 來(lái)記錄頁(yè)面訪問(wèn)次數(shù)的程序 :

  < %
  Dim NumVisitsNumVisits=0
  Application.LockApplication("NumVisits") = Application("NumVisits") + 1
  Application.Unlock
  %>
  歡迎光臨本網(wǎng)頁(yè),你是本頁(yè)的第 < %= Application("NumVisits") %> 位訪客 !

  將以上腳本保存在你的 .asp 文件中,就輕而易舉地給你的頁(yè)面添加了一個(gè)計(jì)數(shù)器。 
  
  2、和 Lock 方法相反,Unlock 方法允許其他客戶(hù)修改 Application 對(duì)象的屬性。 
  
  在上面的例子中,上述例子中,Unlock 方法解除對(duì)象的鎖定,使得下一個(gè)客戶(hù)端能夠增加 NumVisits 的值。

  三、事件 
  
  1、Application_OnStart 
  
  Application_OnStart 事件在首次創(chuàng)建新的會(huì)話 ( 即 Session_OnStart 事件 ) 之前發(fā)生。當(dāng) WEB 服務(wù)器啟動(dòng)并允許對(duì)應(yīng)用程序所包含的文件進(jìn)行請(qǐng)求時(shí)就觸發(fā) Application_OnStart 事件。Application_OnStart 事件的處理過(guò)程必須寫(xiě)在 Global.asa 文件之中。 
  
  Application_OnStart 事件的語(yǔ)法如下 :

  < SCRIPT LANGUAGE=ScriptLanguage RUNAT=Server>
  Sub Application_OnStart. . .
  End Sub
  < /SCRIPT> 

  2、Application_OnEnd 
  
  Application_OnEnd 事件在應(yīng)用程序退出時(shí)于 Session_OnEnd 事件之后發(fā)生,Application_OnEnd 事件的處理過(guò)程也必須寫(xiě)在 Global.asa 文件之中。

  下面讓我們來(lái)看看在使用 Application 對(duì)象時(shí)必須注意的一些事項(xiàng)。

  不能在 Application 對(duì)象中存儲(chǔ) ASP 內(nèi)建對(duì)象。例如,下面的每一行都返回一個(gè)錯(cuò)誤。

  < %
  Set Application("var1")=Session
  Set Application("var2")=Request
  Set Application("var3")=Response
  Set Application("var4")=Server
  Set Application("var5")=Application
  Set Application("var6")=ObjectContext
  %>

   若您將一個(gè)數(shù)組存儲(chǔ)在 Application 對(duì)象中,請(qǐng)不要直接更改存儲(chǔ)在數(shù)組中的元素。例如,下列的腳本無(wú)法運(yùn)行。

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

熱門(mén)評(píng)論
最新評(píng)論
發(fā)表評(píng)論 查看所有評(píng)論(0)
昵稱(chēng):
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)