ASP 五大高效提速技能
来源:长沙计算机培训学校|发布时间:2016-05-21|浏览量:
技艺之一:进步应用Request调集的效能
拜候一个ASP调集来提取一个值是费时的、占用计较资本的进程。由于这个支配包括了一系列对相干调集的搜刮,这比拜候一个局部变量要慢很多。是以,若是筹算在页面中多次应用Request调集中的一个值,应当推敲将其存贮为一个局部变量。
例如将代码写成上面的形势以加速剧本引擎处置速度:
strTitle=Request.Form("Title")  strFirstName=Request.Form("FirstName")  strLastName=Request.Form("LastName")  If Len(strTitle) Then strTitle=strTitle " " If strFirstName="" Then strFullName=strTitle " " strLastName  Elseif Len(strFirstName)=1 Then  strFullName=strTitle strFirstName ". " strLastName  Else  strFullName=strTitle strFirstName " " strLastName  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丢弃。所以,对那些需求少量时分计较或资本应用较多的网页来讲,值得在每阶段都查抄旅游者是不是已离线: 
…… Code to create first part of the page If Response.IsClientConnected Then Response.Flush Else Response.End End If …… Code to create next part of page
技艺之四:优化ASP中的ADO支配 
   但凡面言,数据组成了WEB站点的理想内容。所以,优化ADO支配以加快ASP代码实行,特别有效: 
   a. 仅选择所需的列:当翻开ADO记实集时,除非需求获得一切的列,不然不该主动天时用表名(即SELECT *)。应用零丁的列意味着将削减发送到办事器或从办事器掏出的数据量。即使需求应用全数列,零丁地定名每一个列也会获得最好的机能,由于办事器没必要再诠释这些列的名字。 
   b. 尽量的应用存储进程。存储进程是事后编译的法式,含有一个已筹办好的实行打算,所以比SQL语句实行更快。 
   c. 应用恰当的光标和锁定方式。若是所做的全数任务只是从记实集中读取数据,并将其显现在屏幕上,那末就应用缺省的只能前移、只读的记实集。ADO用来维护记实和锁定的细节的任务越少,实行的机能就越高。 
   d. 应用对象变量。当遍历记实集时一个必定能进步机能的方式是应用对象变量指向调集中的成员。例如:
While Not RsGc.EOF  Response.Write "工程称号:" RsGc("GcMC") "(工程代码:" RsGc("GcCode")  RsGc.MoveNext  Wend                  
				
				下一篇:.Net框架的构成
				
					
						 
						扫码关注微信公众号了解更多详情
					
					跟技术大咖,专业导师一起交流学习
					 
					
				
				
			 
								

 
								 
								
 在线咨询
在线咨询 QQ咨询
QQ咨询 400-160-2868
400-160-2868 长沙高新区麓谷麓松路679号
长沙高新区麓谷麓松路679号
						

 
						

