兰色精灵 发表于 2015-1-16 23:39:13

ASP网页编程之ASP提速技能五则

缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全技能技能之一:进步利用Request汇合的效力
会见一个ASP汇合来提取一个值是费时的、占用盘算资本的历程。由于这个操纵包括了一系列对相干汇合的搜刮,这比会见一个部分变量要慢很多。因而,假如盘算在页面中屡次利用Request汇合中的一个值,应当思索将其存贮为一个部分变量。比方将代码写成上面的情势以加速剧本引擎处置速率:
strTitle=Request.Form("Title")
strFirstName=Request.Form("FirstName")
strLastName=Request.Form("LastName")
IfLen(strTitle)ThenstrTitle=strTitle&""
IfstrFirstName=""ThenstrFullName=strTitle&""&strLastName
ElseifLen(strFirstName)=1Then
strFullName=strTitle&strFirstName&"."&strLastName
Else
strFullName=strTitle&strFirstName&""&strLastName
EndIf


技能之二:间接会见得当的汇合
假如不是别无选择,不然不要利用strPage=Request("page")的如许的情势来猎取参数,由于这将按按次搜刮全体的汇合―QueryString、Form、Cookies、ClientCertificate、ServerVarible直到发明第一个婚配值的称号。如许做比间接会见得当的汇合效力低,而且是不平安的,除非能相对包管这个值不会呈现在别的一个汇合中。
比方,大概但愿搜刮满意客户哀求的WEB服务器称号,这经由过程呈现在每一个查询中的Request.ServerVarables汇合中寻觅“SERVER_NAME”来完成。但是,假设其他的汇合也包括名为“SERVER_NAME”的值(键名不辨别巨细写),当利用Request("server_Name")时,就会失掉毛病的了局。总而言之,应尽量间接会见得当的汇合。


技能之三:在费时操纵前利用Response.IsClientConnected属性
利用Response.IsClientConnected是察看用户是不是仍连到服务器并正在载进ASP创立的网页的有效体例。假如用户断开毗连或中断下载,我们就不必再华侈服务器的资本创立网页,由于缓冲区内容将被IIS抛弃。以是,对那些必要大批工夫盘算或资本利用较多的网页来讲,值得在每阶段都反省巡游者是不是已离线:
……Codetocreatefirstpartofthepage
IfResponse.IsClientConnectedThen
Response.Flush
Else
Response.End
EndIf
……Codetocreatenextpartofpage


技能之四:优化ASP中的ADO操纵
一般面言,数据组成了WEB站点的实践内容。以是,优化ADO操纵以减速ASP代码实行,非常有效:
a.仅选择所需的列:当翻开ADO纪录集时,除非必要取得一切的列,不然不该主动地利用表名(即SELECT*)。利用独自的列意味着将削减发送到服务器或从服务器掏出的数据量。即便必要利用全体列,独自地定名每一个列也会取得最好的功能,由于服务器不用再注释这些列的名字。
b.尽量的利用存储历程。存储历程是事后编译的程序,含有一个已筹办好的实行企图,以是比SQL语句实行更快。
c.利用得当的光标和锁定形式。假如所做的全体事情只是从纪录会合读取数据,并将其显现在屏幕上,那末就利用缺省的只能前移、只读的纪录集。ADO用来保护纪录和锁定的细节的事情越少,实行的功能就越高。
d.利用工具变量。当遍历纪录集时一个一定能进步功能的办法是利用工具变量指向汇合中的成员。比方:
WhileNotRsGc.EOF
Response.Write"工程称号:"&RsGc("GcMC")&"(工程代码:"&RsGc("GcCode")&")
"
RsGc.MoveNext
Wend
能够用改写为上面的代码以加速实行:
setGcMc=RsGc("GcMc")
setGcCode=RsGc("GcCode")
WhileNotrsGc.EOFResponse.Write"工程称号:"&GcMc&"(工程代码:"&GcCode&")
"RsGc.MoveNext
Wend
新的代码创建了工具变量的援用,以是可使用工具变量而不是实践的变量,这意味着剧本引擎的事情削减了,由于在汇合中举行索引的次数变少了。


技能五:不要混用剧本引擎
我们晓得,ASP页面中既可使用VBScript,也能够利用JScript。可是在统一个页面上同时利用JScript和VBScript则是不成取的。由于服务器必需实例化并实验缓存两个(而不是一个)剧本引擎,这在必定水平上增添了体系包袱。因而,从功能上思索,不该在统一页面中混用多种剧本引擎。
</p>缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。

深爱那片海 发表于 2015-1-20 10:53:11

我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。

再见西城 发表于 2015-1-20 17:28:17

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?

因胸联盟 发表于 2015-1-29 13:35:23

掌握asp的特性而且一定要知道为什么。

兰色精灵 发表于 2015-2-6 01:29:38

虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。

分手快乐 发表于 2015-2-14 20:14:38

我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。

蒙在股里 发表于 2015-3-4 10:14:30

没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。

若相依 发表于 2015-3-11 18:12:33

那么,ASP.Net有哪些改进呢?

admin 发表于 2015-3-19 06:25:24

他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。

飘灵儿 发表于 2015-3-27 10:08:46

最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
页: [1]
查看完整版本: ASP网页编程之ASP提速技能五则