广

ASP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    第五章 asp优化:5.1 ASP编码优化技巧8则

    2018-05-07 10:24:41 次阅读 稿源:互联网
    零七广告

    1、声明VBScript变量
        在ASP中,对vbscript提供了强劲的支持,能够无缝集成vbscript的函数、方法,这样给扩展ASP的现有功能提供了很大便利。由于ASP中已经模糊了变量类型的概念,所以,在进行ASP与vbscript交互的过程中,很多程序员也惯于不声明vbscript的变量,这样加重了服务器的解析负担,进而影响服务器的响应请求速度。
    鉴于此,我们可以象在VB中强制用户进行变量声明一样在vbscript中强制用户进行变量声明。实现方法是在ASP程序行首放置<% option explicit%>。

    2、对URL地址进行编码
        在我们使用asp动态生成一个带参数URL地址并进行跳转时,在IE中解析很正常,但在NetScrape浏览时却有错误如下:
    HTTP Error 400
    400 Bad Request
    Due to malformed syntax, the request could not be understood by the server.
    The client should not repeat the request without modifications.
    解决方法是对生成的URL参数使用ASP内置server对象的URLencode方法进行URL编码,例子如下:
    <%
    URL="xur.asp"
    var1="username=" & server.URLencode("xur")
    var2="&company=" & server.URLencode("xurstudio")
    var3="&phone=" & server.URLencode("021-53854336-186")
    response.redirect URL & "?" & var1 & var2 & var3
    %>

    3、清空对象
        当使用完对象后,首先使用Close方法来释放对象所占用的系统资源;然后设置对象值为“nothing”释放对象占用内存。当年,我就是在一张页面上创建了百余个没有清空对象的记录集而崩溃了我的IIS 。下面的代码使用数据库内容建立一个下拉列表。代码示例如下:
    <% myDSN="DSN=xur;uid=xur;pwd=xur"
    mySQL="select * from authors where AU_ID<100"
    set conntemp=server.createobject("adodb.connection")
    conntemp.open myDSN
    set rstemp=conntemp.execute(mySQL)
    if rstemp.eof then
    response.write "数据库为空"
    response.write mySQL
    conntemp.close
    set conntemp=nothing
    response.end
      end if%>
    <%do until rstemp.eof %>
    <%
    rstemp.movenext
    loop
    rstemp.close
    set rstemp=nothing
    conntemp.close
    set conntemp=nothing
    %>

    4、使用字符串建立SQL查询
        使用字符串来建立查询并不能加快服务器的解析速度,相反,它还会增加服务器的解析时间。但在这里仍然推荐使用字符串代替简单的查询语句来进行查询。这样做的好处是,可以迅速发现程序问题所在,从而便利高效地生成程序。示例如下:
    <%mySQL= ""select * "
    mySQL= mySQL & "from publishers"
    mySQL= mySQL & "where state='NY'"
    response.write mySQL
    set rstemp=conntemp.execute(mySQL)
    rstemp.close
    set rstemp=nothing
    %>

    5、使用case进行条件选择
        在进行条件选择的时候,尽量使用case语句,避免使用if语句。使用case语句,可以使程序流程化,执行起来也比if语句来的快。示例如下:
    <%
       FOR i = 1 TO 1000
       n = i
       Response.Write AddSuffix(n) & "<br>"
       NEXT
       %>
       <%
       Function AddSuffix(num)
    numpart = RIGHT(num,1)
    SELECT CASE numpart
    CASE "1"
    IF InStr(num,"11") THEN
    num = num & "th"
    ELSE
    num = num & &q

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告