亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

Asp編碼優(yōu)化技巧

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

ASP(Active Server Page)是Microsoft公司推出的基于PWS(Personal Web Server)&IIS(Internet Information Server)平臺的、基于ISAPI(InternetServiceAPI)原理的動態(tài)網頁開發(fā)技術,目前日趨成熟完善。在這里僅就代碼優(yōu)化進行一些簡單討論。

8條Asp編碼優(yōu)化技巧:

1、聲明VBScript變量

在ASP中,對vbscript提供了強勁的支持,能夠無縫集成vbscript的函數、方法,這樣給擴展ASP的現有功能提供了很大便利。由于ASP中已經模糊了變量類型的概念,所以,在進行ASP與vbscript交互的過程中,很多程序員也慣于不聲明vbscript的變量,這樣加重了服務器的解析負擔,進而影響服務器的響應請求速度。

鑒于此,我們可以象在VB中強制用戶進行變量聲明一樣在vbscript中強制用戶進行變量聲明。實現方法是在ASP程序行首放置<% option explicit%>。

2、對URL地址進行編碼

在我們使用asp動態(tài)生成一個帶參數URL地址并進行跳轉時,在IE中解析很正常,但在NetScrape瀏覽時卻有錯誤如下:

 

 
  1. HTTP Error 400  
  2. 400 Bad Request  
  3. Due to malformed syntax, the request could not be understood by the server.  
  4. The client should not repeat the request without modifications.  

解決方法是對生成的URL參數使用ASP內置server對象的URLencode方法進行URL編碼,例子如下:

 

 
  1. <%  
  2. URL="xur.asp"  
  3. var1="username=" & server.URLencode("xur")  
  4. var2="&company=" & server.URLencode("xurstudio")  
  5. var3="&phone=" & server.URLencode("021-53854336-186")  
  6. response.redirect URL & "?" & var1 & var2 & var3  
  7. %> 

3、清空對象

當使用完對象后,首先使用Close方法來釋放對象所占用的系統(tǒng)資源;然后設置對象值為“nothing”釋放對象占用內存。當年,我就是在一張頁面上創(chuàng)建了百余個沒有清空對象的記錄集而崩潰了我的IIS 。下面的代碼使用數據庫內容建立一個下拉列表。代碼示例如下:

 

 
  1. <% myDSN="DSN=xur;uid=xur;pwd=xur"  
  2. mySQL="select * from authors where AU_ID<100"  
  3. set conntemp=server.createobject("adodb.connection")  
  4. conntemp.open myDSN  
  5. set rstemp=conntemp.execute(mySQL)  
  6. if rstemp.eof then  
  7. response.write "數據庫為空"  
  8. response.write mySQL  
  9. conntemp.close  
  10. set conntemp=nothing  
  11. response.end  
  12.   end if%>  
  13. <%do until rstemp.eof %>  
  14. <%  
  15. rstemp.movenext  
  16. loop  
  17. rstemp.close  
  18. set rstemp=nothing  
  19. conntemp.close  
  20. set conntemp=nothing  
  21. %> 

4、使用字符串建立SQL查詢

使用字符串來建立查詢并不能加快服務器的解析速度,相反,它還會增加服務器的解析時間。但在這里仍然推薦使用字符串代替簡單的查詢語句來進行查詢。這樣做的好處是,可以迅速發(fā)現程序問題所在,從而便利高效地生成程序。示例如下:

 

 
  1. <%mySQL= ""select * "  
  2. mySQL= mySQL & "from publishers"  
  3. mySQL= mySQL & "where state='NY'"  
  4. response.write mySQL  
  5. set rstemp=conntemp.execute(mySQL)  
  6. rstemp.close  
  7. set rstemp=nothing  
  8. %>  

5、使用case進行條件選擇

在進行條件選擇的時候,盡量使用case語句,避免使用if語句。使用case語句,可以使程序流程化,執(zhí)行起來也比if語句來的快。示例如下:

 

 
  1. <%  
  2.    FOR i = 1 TO 1000  
  3.    n = i  
  4.    Response.Write AddSuffix(n) & "<br>"  
  5.    NEXT  
  6.    %>  
  7.    <%  
  8.    Function AddSuffix(num)  
  9. numpart = RIGHT(num,1)  
  10. SELECT CASE numpart  
  11. CASE "1"  
  12. IF InStr(num,"11") THEN  
  13. num = num & "th"  
  14. ELSE  
  15. num = num & "st"  
  16. END IF  
  17. CASE "2"  
  18. IF InStr(num,"12") THEN  
  19. num = num & "th"  
  20. ELSE  
  21. num = num & "nd"  
  22. END IF  
  23. CASE "3"  
  24. IF InStr(num,"13") THEN  
  25. num = num & "th"  
  26. ELSE  
  27. num = num & "rd"  
  28. END IF  
  29. CASE "4"  
  30. num = num & "th"  
  31. CASE ELSE  
  32. num = num & "th"  
  33. END SELECT  
  34. AddSuffix = num  
  35.    END FUNCTION  
  36. %>  

6、使用adovbs.inc文件中定義的常量打開記錄集

打開記錄集時,可以定義記錄集打開的游標類型和鎖定類型。在adovbs.inc文件中定義了一些常量來定義這些類型。adovbs.inc文件保存在/inetpub/iissamples/IISamples目錄下面。下面列舉幾個常用的游標類型和鎖定類型。

游標類型:adOpenFowardOnly游標只能向前;adOpenKeyset游標可向前或者向后,如一用戶添加記錄,新記錄不會出現在記錄集中;adOpenDynamic游標動態(tài)隨意;adOpenStatic記錄集不對其他用戶造成的記錄修改有所反映。

鎖定類型:adLockReadOney不能修改記錄集中的記錄;adLockPessimistic在編輯一條記錄時鎖定它;adLockOptimstic調用記錄集Update方法時才鎖定記錄;adLockBatchOpeimstic記錄只能成批更新。

 

 
  1. <!--#INCLUDE VIRTUAL="/ADOVBS.INC" -->  
  2. <%  
  3. connectme="DSN=xur;uid=xur;pwd=xur"  
  4. sqltemp="select * from publishers where name='xur'"  
  5. set rstemp=Server.CreateObject("adodb.Recordset")  
  6. rstemp.open sqltemp, connectme, adOpenStatic,adLockOptimstic  
  7. response.write rstemp.recordcount & " records in<br>" & sqltemp  
  8. rstemp.close  
  9. set rstemp=nothing  
  10. %>  

7、避免在使用global.asa文件中進行對象定義

由于global.asa文件中的內容可以為站點內所有文件引用,無疑,在global.asa文件中進行對象定義可以省去很多重復工作。比如在global.asa中的application_onstart函數中進行如下定義:

 

 
  1. <%SUB application_onstart  
  2. set application("theCONN")=server.createobject("adodb.connection")  
  3. END SUB %>;  

這樣就可以在站點任何代碼中做類似引用:

 

 
  1. <%  
  2. mySQL="select * from publishers where state='xur'  
  3. set rstemp=application("theconn").execute(mySQL)  
  4. %>  

同樣地,可以在session_onstart函數中創(chuàng)建記錄集對象

 

 
  1. <%SUB session_onstart  
  2. set session("rstemp")=server.createobject("adodb.recordset")  
  3. END SUB %>  

然后在站點也面中進行如下引用:

 

 
  1. <%  
  2. mySQL="select * from publishers where state='xur'  
  3. set session("rstemp")=conntemp.execute(mySQL)  
  4. %>  

但這樣做的同時也有很大的負面影響,由于Application和session變量都只有在關閉網站的時候才釋放占用的資源,所以session參數會浪費大量不必要內存,而且此時application變量成為服務器性能的瓶頸。

解決方法:建立定義對象asp頁面,在需要進行調用這些對象的頁面上,引入這張asp頁面。假設定義對象的asp頁面名稱為define.asp,則只要在對應asp頁面中加入以下語句就能引入該頁面。

在進行頁面引進時,最好在待引進的asp文件中不要包含<%@LANGUAGE="VBSCRIPT"%>語句。因為在asp文件中,只能有一句由@來定義的腳本解析語言。

8、安全防護

asp提供了很好的代碼保護機制,所有的asp代碼都在服務器端執(zhí)行而只返回給客戶端代碼執(zhí)行結果。即便這樣,在老版本的IIS中還可以在文件名后面家::$DATA來查看asp的源代碼,這已經屬于Web Server安全范疇不在本文討論范圍內。下面提出兩點簡單的安全注意事項。

雖然在asp中建議引入文件以inc作為擴展名,在這里仍建議以asp作為引文件的擴展名。當這些代碼在安全機制不好的Web Server上運行時,只需在地址欄上輸入引入文件的地址(inc為擴展名),就可以瀏覽該引入文件的內容,這是由于在Web Server上,如果沒有定義好解析某類型(比如inc)的動態(tài)連接庫時,該文件以源碼方式顯示。

不要把數據庫文件放在網站結構內部,這樣,當惡意人士獲取數據庫路徑后,就可以輕易獲取該數據庫,進而肆意更改數據庫內容。比較好的做法是,為數據庫建立DSN(Date Source Name),而在進行數據庫訪問時直接訪問該DSN。

以上八條Asp編碼優(yōu)化技巧,每一條都很重要,需要大家細細體會,真正的理解成為自己的東西。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国产黄色免费观看| 欧美18xxxxx| 国产精品99久久久久久www| 2023av在线| 亚洲男人第一网站| 欧美成人有码| 夜夜嗨av一区二区三区免费区| 久久午夜老司机| 色94色欧美sute亚洲线路一ni| www.亚洲天堂.com| av成人在线观看| 老子影院午夜伦不卡大全| 91视频 -- 69xx| xxxx日韩| 亚洲风情亚aⅴ在线发布| 国产av无码专区亚洲精品| 亚洲高清三级视频| 亚洲视频免费播放| 国产99久久久久久免费看农村| 污视频在线观看免费网站| 日韩欧美主播在线| 日本免费一区视频| 免费看日韩av| 国产亚洲视频中文字幕视频| 香蕉国产精品偷在线观看不卡| 日本免费看黄色| 亚洲精品中文字幕乱码三区91| 国产18无套直看片| 亚洲成人三级| 亚洲伊人色欲综合网| 九九大香尹人视频免费| 在线综合亚洲| 国产精品视频看看| 欧美性视频在线| 欧美巨大另类极品videosbest| 日本精品中文字幕| 欧美日韩在线免费观看| 精品伊人久久久| 乱熟女高潮一区二区在线| 欧美日本韩国一区二区| 国产福利一区二区三区视频| 久久精品国产亚洲5555| 国产一区 二区 三区一级| 亚洲v国产v在线观看| 久久福利综合| 99re热久久这里只有精品34| 五月婷婷在线观看视频| 亚洲天堂网站在线观看视频| 精品中文视频| 免费成人av在线播放| 国产区精品视频在线观看豆花| 麻豆成人久久精品二区三区小说| 日韩美女精品| 男人的天堂一区二区| 骚虎视频欧美| 国产精品成人免费精品自在线观看| 六月丁香婷婷综合| 亚洲精品一品区二品区三品区| 欧美日韩1080p| 精品一区二区久久| 一本色道久久综合亚洲二区三区| 亚洲男女网站| 国产精品九九久久久久久久| 亚洲第一中文av| 国内精品久久久久久野外| 日韩激情综合网| 亚洲男人都懂的| 午夜影院在线| 中文字幕一区二区三区最新| 性欧美1819| 日本精品性网站在线观看| 国模精品视频| 亚洲嫩模很污视频| 日产精品久久久久久久性色| 国产精品乱码视频| 欧美重口另类| av黄色在线免费观看| 三上悠亚一区二区| 老牛影视av牛牛影视av| 欧美性孕妇孕交| 欧性猛交ⅹxxx乱大交| 精灵使的剑舞无删减版在线观看| 欧美成人亚洲高清在线观看| 成人av电影天堂| 国产精品专区在线| 日本黄在线观看| 筱崎爱全乳无删减在线观看| 国产一级片麻豆| 理论片播放午夜国外| 亚洲精品网站在线| 97久久精品国产| 性色视频在线| 给个网站可以在线观看你懂的| 日韩成人一级片| 很黄很污的视频网站| 国产一级大片免费看| 国产偷拍一区二区| 中文字幕在线不卡一区| 国产精品欧美激情| 新片速递亚洲合集欧美合集| 国内成人免费视频| 国产精品视频一区二区三区四区五区| 国内福利写真片视频在线| 亚洲精品视频网上网址在线观看| 香蕉大人久久国产成人av| 成人知道污网站| 国产精品私人影院| 亚洲午夜久久久久久久| 98精品久久久久久久| 日本一区二区精品视频| 亚洲精品写真福利| 天天爽夜夜爽夜夜爽精品视频| 丁香激情综合国产| 丁香激情视频| 毛片毛片毛片毛| 国产成人高清| 成人久久久精品国产乱码一区二区| 国产伦精品一区二区三区免费视频| 日韩av第一页| 日韩黄色在线免费观看| 日韩一区二区免费看| 国产欧美高清视频在线| 大胆国模一区二区三区| 成人免费观看网站| 亚洲精品在线网站| 天堂v在线视频| 久久久久亚洲综合| 日本电影在线观看网站| 色香阁99久久精品久久久| 在线电影欧美日韩一区二区私密| 欧美最猛性xxxxx喷水| 欧美日韩视频一区二区| 牛人盗摄一区二区三区视频| 青青在线视频| 欧美极品第一页| 99精品视频国产| 欧美性色视频在线| 国产精品伦理一区二区| 天天操天天插天天射| 国产高清不卡无码视频| 日韩大尺度黄色| 18aaaa精品欧美大片h| 蜜桃在线一区二区三区| 国产精品久久久久久在线| www.天天干.com| 天天综合网天天综合色| 欧美一级电影网站| 午夜视频在线免费| 欧美另类极品videosbestfree| 国产深夜男女无套内射| 在线观看日韩精品| 国产91精品入| 中文字幕少妇| 精品福利在线视频| 91精品福利在线一区二区三区| 黄页网站大全在线观看| 狠狠操天天操夜夜操| 日韩一区二区影院| 99在线视频影院| 中文字幕精品av| 忘忧草在线日韩www影院| 精品播放一区二区| 91精品国产一区二区在线观看| 成人午夜在线影院| 欧美高清电影在线| jizz日本在线播放| 激情黄产视频在线免费观看| 国产系列第一页| 国产视频福利在线| 亚洲91精品| 美女精品在线| 国产精品专区h在线观看| 成人在线国产视频| 麻豆精品视频入口| 波多野结衣在线观看| 中文资源在线播放| 另类视频在线观看+1080p| 成人福利网站| 国产一区二区三区视频播放| 91午夜精品| 亚洲精品在线免费观看视频| 免费网站观看www在线观| 蜜臀久久99精品久久久画质超高清| 综合另类专区| 最新中文乱码字字幕在线| 久久久久国产精品免费免费搜索| 久久久精品视频国产| 丁香婷婷久久久综合精品国产| 国产精品77777竹菊影视小说| 久久波多野结衣| 亚洲第一在线综合网站| 一个人看的www在线免费观看| 国产午夜福利100集发布| 另类图片亚洲另类| 一区视频二区视频| 欧美日韩亚洲综合| 永久免费在线看片视频| 国产精品全国免费观看高清| 影音先锋亚洲精品| 成年人免费影院| 欧美一级专区| 欧美xxx黑人xxx水蜜桃| 操日韩av在线电影| 免费在线观看av网站| 日韩亚洲欧美中文三级| 亚洲欧美国产另类| 国产精品视频一区视频二区| 国产精品视频一区国模私拍| 夜夜操天天干| av成人男女| 欧美激情中文字幕一区二区| 日本一区二区三区在线视频| 天堂在线资源网| 在线看黄的网站| 亚洲天堂开心观看| 亚洲一区二区在| 欧洲av在线精品| 久久久久久久久久码影片| 国产精品视频一二三四区| 日本一级片免费| 黄色一区二区在线观看| 精品久久久99| 91精品国产色综合久久不卡蜜臀| 久草精品在线观看| 欧美在线播放| 日韩黄色在线免费观看| 精品在线播放午夜| 国产成人禁片免费观看| 杨幂毛片午夜性生毛片| 欧美在线视频你懂得| 1000部精品久久久久久久久| 国产精品视频入口| 中文字幕一区二区久久人妻网站| 国产极品美女到高潮| 久久国产精品国产精品| 成年人免费看毛片| 丁香花电影在线观看完整版| 青青草成人免费| 国产十八熟妇av成人一区| 精品国产免费久久久久久尖叫| 中文字幕色呦呦| 毛片中文在线观看| 一区二区不卡视频在线观看| 精品久久久中文| 国产精品欧美一区二区三区| 国产成人啪午夜精品网站男同| 亚洲视频在线观看一区二区| 二区在线观看| 亚洲私人影院在线观看| 国产精品迅雷| 青草视频在线免费直播| 无码一区二区三区| 另类人妖一区二区av| 久久精品无码一区二区三区| 亚洲黄色录像片| 伊人激情综合| 91视频免费版污| 精品一区二区三区香蕉蜜桃| 狠狠色伊人亚洲综合网站色| 久久久久久久久久久免费| 在线观看欧美精品| 青青草国产成人av片免费| 7799精品视频| 国产福利资源一区| 久久久久久免费视频| 欧美在线一区二区三区四区| 国产精品乱子乱xxxx| 国产视频一区二区在线| 三级视频网站在线观看| 国产99对白在线播放| 久久中文视频| 99re8这里只有精品| 成人影院网站ww555久久精品| 社区色欧美激情 | 最近2019年手机中文字幕| 欧美精品一二三区| 美女尤物国产一区| 欧美日精品一区视频| 老司机精品影院| 国产精品精品视频一区二区三区| 81精品国产乱码久久久久久| 精品人伦一区二区三区蜜桃免费| 国产天堂在线| 奴色虐av一区二区三区| 欧美一级黄视频| 日韩一二三四区| 樱花草www在线| 亚洲成人自拍网| 日产精品久久久久久久| 午夜激情成人网| 岛国av在线| 欧美亚洲色图视频| 午夜视频免费播放| 黄色大全在线观看| 亚洲国产精品一区二区第四页av| 黑人巨大精品一区二区在线| 成人av二区| 日韩精品第1页| 久久黄色网页| 亚洲精品va| 国产欧美123| 天堂在线亚洲| 亚洲av少妇一区二区在线观看| 亚洲综合色成人| 日韩精品1区2区3区| 黄色片在线观看网站| 国产这里只有精品| 精品国产91久久久久久久妲己| 快she精品国产999| av网站观看| 黄色免费av网站| 91精品国产高清久久久久久| 午夜羞羞视频| 日本一区二区免费在线观看| www.久久久久久久久久| 天堂入口网站| 欧美gay男男猛男无套| 久久这里只有精品9| 国产精品第12页| 6080yy午夜一二三区久久| jizzjizz中国精品麻豆| 欧美巨胸大乳hitomi| 国产爆初菊在线观看免费视频网站| 国产免费拔擦拔擦8x高清在线人| 中午字幕在线观看| 精品国产一区二区三区不卡在线| 日本在线不卡一区二区| 久久99亚洲精品|