當(dāng)前位置:首頁文章首頁 IT學(xué)院 IT技術(shù)

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

作者:  來源:  發(fā)布時(shí)間:2011-6-8 11:43:43  點(diǎn)擊:

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

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

  下面就讓我們一起來學(xué)習(xí) Application 對(duì)象。 
  
  一、屬性 
  
  雖然 Application 對(duì)象沒有內(nèi)置的屬性,但我們可以使用以下句法設(shè)置用戶定義的屬性也可稱為集合。 
  
  Application(" 屬性 / 集合名稱 ")= 值 
  
  我們可以使用如下腳本聲明并建立 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)用程序的所有用戶讀取,所以 Application 對(duì)象的屬性特別適合在應(yīng)用程序的用戶之間傳遞信息。

  二、方法

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

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

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

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

  將以上腳本保存在你的 .asp 文件中,就輕而易舉地給你的頁面添加了一個(gè)計(jì)數(shù)器。 
  
  2、和 Lock 方法相反,Unlock 方法允許其他客戶修改 Application 對(duì)象的屬性。 
  
  在上面的例子中,上述例子中,Unlock 方法解除對(duì)象的鎖定,使得下一個(gè)客戶端能夠增加 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 事件的處理過程必須寫在 Global.asa 文件之中。 
  
  Application_OnStart 事件的語法如下 :

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

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

  下面讓我們來看看在使用 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ù)組中的元素。例如,下列的腳本無法運(yùn)行。

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

相關(guān)軟件

相關(guān)文章

文章評(píng)論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z