萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> asp編程 >> 全面解析Server對象

全面解析Server對象

Server對象提供對服務器上訪問的方法和屬性.大多數方法和屬性是作為實用程序的功能提供的。

  語法:

   Server.property|method

  屬性(property)

  Server對象只有一個屬性:ScriptTimeout 程序能夠運行的最大時間

  方法(Methods)

  CreateObject 建立一個對象實例.

  Execute 執行一個asp文件

  GetLastError 返回一個錯誤代碼

  HTMLEncode 對指定的HTML代碼進行轉換.

  MapPath 將一個相對路徑轉化為一個絕對路徑.

  Transfer 將當前的所有狀態信息發送給另一個asp文件

  URLEncode 以URL形式轉化指定的代碼,包括空格

  Server對象的方法詳細說明

  CreateObject

  語法

   Server.CreateObject( progID )

  參數

  progID

  指定要創建的組件名稱,格式如下: [Vendor.]Component[.Version].

  要點:

  一般來說,用由Server.CreateObject方法創建的對象擁有頁面的范圍.這就說,當這頁的asp程序執行完後,這種對象會自動地消失.

  為了創建一個擁有Session或Application范圍的對象,你可以在Global.asa文件中使用

  Execute

  Execute 方法呼叫一個ASP文件並且執行它就像這個呼叫的ASP文件存在這個ASP文件中一樣。這很像許多語言中的類的調用。

  語法

  Server.Execute( Path )

  參數

  Path

  指定執行的那個asp文件的路徑。如是它是一個絕對路徑,那麼它必須是一個在這個ASP應用程序相同的地方(目錄)。

  講解

  Server.Execute 方法提供了一種將一個復雜ASP應用程序分化為小塊單位來執行的方法。通過這種方法,你能夠建一個ASP圖書館,你能夠隨便在你需要時調用你圖書館中的ASP文件。這個就有點像SSI了!嘿嘿
當IIS根據指定的ASP文件路徑執行完這個ASP文件之後,就會自動返回以前的ASP文件。這個剛剛執行完的ASP文件有可能改變了HTTP head.但是和其它的ASP文件一樣,當程序試圖改變http head時,就會報錯!

  這個path參數可以包括一個詢問信息。

  如果在被呼叫和呼叫的ASP文件中都含有相同的子函數,那麼這些子函數只在本ASP文件中起作用。舉個例子,如果在下面的ASP1和ASP2兩個文件中都含有放棄程序的子函數。首先ASP1呼叫ASP2,那麼ASP2中的的OnTransactionAbort開始執行,當ASP2執行完畢,ASP1中的OnTransactionAbort才開始執行。

  ASP1:

< %@ Transaction=Required%>
< %
 Server.Execute ("Page22.asp")

 Sub OnTransactionAbort

 Sub OnTransactionCommit
%>


  Asp2.asp:

< %@
 Transaction=Required

 Sub OnTransactionAbort

 Sub OnTransactionCommit
%>


  Example

   ASP1

< % Response.Write("I am going to execute ASP2 ")
Server.Execute("/myasps/asp2.asp")
%>


ASP2

< % Response.Write("Here I am")%>

  GetLastError

  GetLastError 方法返回一個ASPError Object 來描述一個錯誤信息.這個方法只適用於在asp文件發送任何內容給用戶機之前.

  語法

  Server.GetLastError ()

  要點

  如果一個500;100 用戶錯誤已經被定義在一個asp應用程序中,它是指的一個以.asp為後綴的文件。這種情況下,在這個程序運行時當一個錯誤發生時,服務器就會自動的以 Server.Transfer這種方式傳送到這個正在執行的ASP頁面。ASP應用程序就會將有效的處理這個錯誤。另外,這個ASPError Object一定要有效,這樣你就能夠看到服務器提供給你的錯誤信息來改這個文件了!


  一般的Web Site 都是根據文件/iishelp/common/500-100.asp來構造的。你能夠用它來執行一個asp錯誤,當然你能夠自己定義了!。如果你想改變為另外一個asp文件的來執行這些用戶錯誤。那麼你可以用IIS中的snap-in.

  注意:當IIS發現了一個asp文件或者global.asa文件中的一個錯誤,那麼一個500;100用戶錯誤產生。以下的程序將不能執行! (.)

  Example

  下面的三個例子證明不同的錯誤會產生的用戶錯誤。三個錯誤是:

  編譯錯誤

  運行錯誤

  邏輯錯誤

  第一個例子證明了一個編譯錯誤,就是當IIS試圖包含一個文件時產生的。這個錯誤會產生是因為在這個包含文件中沒有定義所需的參數。第二個例子顯示的是一個運行錯誤,這個程序中斷的原因是程序中沒有“next".第三個例子顯示的是一個邏輯錯誤,因為這個程序試圖除以一個0. 不行啦! 

  

Example 1

< %
  response.write "hello"
%>

Example 2

< %
  dim I
  for i=1 to 1
  nxt
%>

Example 3

< %
  dim i,j
  dim sum
  sum=0
  j=0

  for i=1 to 10
   sum=sum+1
  next

  sum=sum/j
%>

  HTMLEncode

  HTMLEncode方法對指定的字符串進行HTML編碼.

  語法

   Server.HTMLEncode( string )

copyright © 萬盛學電腦網 all rights reserved