其實ASP也並非就那麼菜,只要我們合理的優化程序,效率還是可以得到提高的。下面就講講如何通過優化ASP源碼以提高程序的運行速度。
1、提高使用Request集合的效率
訪問一個ASP集合來提取一個值是費時的、占用計算資源的過程。因為這個操作包含了一系列對相關集合的搜索,這比訪問一個局部變量要慢得多。因此,如果打算在頁面中多次使用Request集合中的一個值,應該考慮將其存貯為一個局部變量。例如將代碼寫成下面的形式以加快腳本引擎處理速度
2、直接訪問適當的集合
如果不是別無選擇,否則不要使用strPage=Request("page")的這樣的形式來獲取參數,因為這將按順序搜索全部的集合—QueryString、Form、Cookies、ClientCertificate、ServerVarible直到發現第一個匹配值的名稱。這樣做比直接訪問適當的集合效率低,並且是不安全的,除非能絕對保證這個值不會出現在另外一個集合中。
例如,可能希望搜索滿足客戶請求的WEB服務器名稱,這通過出現在每個查詢中的Request.ServerVarables集合中尋找“SERVER_NAME”來實現。然而,假如其他的集合也包含名為“SERVER_NAME”的值(鍵名不區分大小寫),當使用Request("server_Name")時,就會得到錯誤的結果。總而言之,應盡可能直接訪問適當的集合。
3、在費時操作前使用Response.IsClientConnected屬性
使用Response.IsClientConnected是觀察用戶是否仍連到服務器並正在載入ASP創建的網頁的有用方式。如果用戶斷開連接或停止下載,我們就不用再浪費服務器的資源創建網頁,因為緩沖區內容將被IIS丟棄。所以,對那些需要大量時間計算或資源使用較多的網頁來說,值得在每一階段都檢查游覽者是否已離線:
…… Code to create first part of the page