国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

ASP提速五大技巧

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

這篇文章主要介紹了ASP提速五大技巧,感興趣的小伙伴們可以參考一下

技巧之一:提高使用Request集合的效率

訪問一個ASP集合來提取一個值是費時的、占用計算資源的過程。因為這個操作包含了一系列對相關集合的搜索,這比訪問一個局部變量要慢得多。因此,如果打算在頁面中多次使用Request集合中的一個值,應該考慮將其存貯為一個局部變量。例如將代碼寫成下面的形式以加快腳本引擎處理速度:

 

 
  1. strTitle=Request.Form("Title")  
  2. strFirstName=Request.Form("FirstName")  
  3. strLastName=Request.Form("LastName")  
  4. If Len(strTitle) Then strTitle=strTitle & " "  
  5. If strFirstName="" Then strFullName=strTitle & " " & strLastName  
  6. Elseif Len(strFirstName)=1 Then  
  7. strFullName=strTitle & strFirstName & ". " & strLastName  
  8. Else  
  9. strFullName=strTitle & strFirstName & " " & strLastName  
  10. End If  

技巧之二:直接訪問適當的集合

如果不是別無選擇,否則不要使用strPage=Request("page")的這樣的形式來獲取參數,因為這將按順序搜索全部的集合QueryString、Form、Cookies、ClientCertificate、ServerVarible直到發現第一個匹配值的名稱。這樣做比直接訪問適當的集合效率低,并且是不安全的,除非能絕對保證這個值不會出現在另外一個集合中。

例如,可能希望搜索滿足客戶請求的WEB服務器名稱,這通過出現在每個查詢中的Request.ServerVarables集合中尋找“SERVER_NAME”來實現。然而,假如其他的集合也包含名為“SERVER_NAME”的值(鍵名不區分大小寫),當使用Request("server_Name")時,就會得到錯誤的結果。總而言之,應盡可能直接訪問適當的集合。

技巧之三:在費時操作前使用Response.IsClientConnected屬性

使用Response.IsClientConnected是觀察用戶是否仍連到服務器并正在載入ASP創建的網頁的有用方式。如果用戶斷開連接或停止下載,我們就不用再浪費服務器的資源創建網頁,因為緩沖區內容將被IIS丟棄。所以,對那些需要大量時間計算或資源使用較多的網頁來說,值得在每一階段都檢查游覽者是否已離線:

 

 
  1. …… Code to create first part of the page  
  2. If Response.IsClientConnected Then  
  3. Response.Flush  
  4. Else  
  5. Response.End  
  6. End If  
  7. …… Code to create next part of page  

技巧之四:優化ASP中的ADO操作

通常面言,數據構成了WEB站點的實際內容。所以,優化ADO操作以加速ASP代碼執行,十分有用:

a. 僅選擇所需的列:當打開ADO記錄集時,除非需要獲得所有的列,否則不應自動地使用表名(即SELECT *)。使用單獨的列意味著將減少發送到服務器或從服務器取出的數據量。即使需要使用全部列,單獨地命名每個列也會獲得最佳的性能,因為服務器不必再解釋這些列的名字。

b. 盡可能的使用存儲過程。存儲過程是預先編譯的程序,含有一個已經準備好的執行計劃,所以比SQL語句執行更快。

c. 使用適當的光標和鎖定模式。如果所做的全部工作只是從記錄集中讀取數據,并將其顯示在屏幕上,那么就使用缺省的只能前移、只讀的記錄集。ADO用來維護記錄和鎖定的細節的工作越少,執行的性能就越高。

d. 使用對象變量。當遍歷記錄集時一個肯定能提高性能的方法是使用對象變量指向集合中的成員。例如:

 

 
  1. While Not RsGc.EOF  
  2. Response.Write "工程名稱:" & RsGc("GcMC") & "(工程代碼:" & RsGc("GcCode") & ") 
  3. "  
  4. RsGc.MoveNext  
  5. Wend  

可以用改寫為下面的代碼以加快執行:

 

 
  1. set GcMc=RsGc("GcMc")  
  2. set GcCode=RsGc("GcCode")  
  3. While Not rsGc.EOF Response.Write "工程名稱:" & GcMc & "(工程代碼:" & GcCode & ") 
  4. " RsGc.MoveNext  
  5. Wend  

新的代碼建立了對象變量的引用,所以可以使用對象變量而不是實際的變量,這意味著腳本引擎的工作減少了,因為在集合中進行索引的次數變少了。

技巧五:不要混用腳本引擎

我們知道,ASP頁面中既可以使用VBScript,也可以使用JScript。但是在同一個頁面上同時使用JScript和VBScript則是不可取的。因為服務器必須實例化并嘗試緩存兩個(而不是一個)腳本引擎,這在一定程度上增加了系統負擔。因此,從性能上考慮,不應在同一頁面中混用多種腳本引擎。

以上就是ASP提速的五大技巧,通過學習這五大技巧可以加速網站打開的速度。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵宝市| 铜陵市| 陇西县| 新绛县| 凤凰县| 新津县| 甘南县| 芜湖市| 鄂托克旗| 宝坻区| 灵台县| 连云港市| 富源县| 侯马市| 嫩江县| 锡林郭勒盟| 伊春市| 门头沟区| 法库县| 隆化县| 达尔| 大关县| 江西省| 文成县| 岳池县| 沛县| 遵义市| 盘锦市| 云梦县| 临夏市| 怀来县| 怀化市| 长治县| 金门县| 汕尾市| 嘉鱼县| 汤原县| 平南县| 淳化县| 海门市| 四会市|