ASP编程:ASP技能集锦(官方威望版)-5
优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件技能 技能13:制止从头界说数组只管制止Redim数组。从体贴功能的角度来讲,假如盘算机受物理内存的限定,最好一入手下手将数组的维数设置为最差计划-而不要将维数设置为最好计划,再依据必要从头界说维数。这其实不意味着明晓得不必要那末多而就是应当分派太多的内存。
上面代码展现了您没有需要地利用了Dim和Redim来办理。
<%
DimMyArray()
RedimMyArray(2)
MyArray(0)="hello"
MyArray(1)="good-bye"
MyArray(2)="farewell"
...
一些其余代码中,这里您不必要更多的空间,然后...
RedimPreserveMyArray(5)
MyArray(3)="morestuff"
MyArray(4)="evenmorestuff"
MyArray(5)="yetmorestuff"
%>
更好的举措是只须一入手下手Dim数组为准确的巨细(本例中为5),而不是Redim数组,再加年夜数组。这大概会华侈一点儿内存(假如没有效尽一切元素),可是取得的是速率。
技能14:利用呼应缓冲
您能够经由过程翻开“呼应缓冲区”来缓冲值得输入的全部页。这将写进扫瞄器的数据量降为最小,从而进步整体功能。每次写进城市有大批开支(包含IIS和经由过程电缆发送的数据量),因而写进的越少越好。TCP/IP的事情效力,在发送大批年夜的数据块时分明高于发送大批小的数据块时,缘故原由在于它的低速启动和Nagling算法(用于最小化收集堵塞)。
翻开呼应缓冲有两种办法。第一种,可使用“Internet服务办理器”为全部使用程序翻开呼应缓冲。这是保举的办法,在IIS4.0和IIS5.0中,在默许情形下,为新的ASP使用程序翻开呼应缓冲。第二种,逐页将以下代码行放在ASP页的开首,从而启用呼应缓冲:
<%Response.Buffer=True%>
该行代码必需在任何呼应数据写进扫瞄器之前实行(也就是说,在任何HTML呈现在ASP剧本中之前和任何Cookies被利用Response.Cookies汇合设置之前)。一般,最好是为全部使用程序翻开呼应缓冲。这同意省略下面每页中的代码行。
Response.Flush
呼应缓冲的通病是用户感到ASP页呼应愚钝(只管整体呼应工夫改良了),由于他们必要比及全部页天生后才干瞥见该页。关于长工夫运转的页面,能够经由过程设置Response.Buffer=False封闭呼应缓冲。可是,更好的战略是利用Response.Flush办法。该办法革新由ASP绘进扫瞄器的一切HTML。比方,绘制了具有1,000行的表的100行后,ASP能够挪用Response.Flush强迫将了局绘制到扫瞄器;这同意用户在其他的行筹办好之前先看到头100行。该手艺给了您两个独一无二的好器材-呼应缓冲与扫瞄器中数据的慢慢显现的组合。
(注重,在下面1,000行表的示例中,很多扫瞄器,在看到</table>停止标志之前不会入手下手绘制表。请反省方针扫瞄器的撑持性。要办理该成绩,请将表支解为具有较少行的多个表,然后在每一个表前面挪用Response.Flush。新版本的InternetExplorer将在表完整下载之前绘制表,出格是假如指定表的列宽则绘制速率更快;这制止强迫InternetExplorer经由过程器度每一个单位格的内容来盘算列宽。)
呼应缓冲的另外一个通病是在天生年夜型页时将利用服务器的大批内存。关于该成绩,除请求天生年夜型页的技能外,还能够经由过程奇妙地利用Response.Flush来办理。
技能15:批处置内嵌剧本和Response.Write语句
VBScript语法<%=expression%>将“表达式”的值写进ASP输入流。假如呼应缓冲没有翻开,则这些语句的每句城市招致经由过程收集,以很多小型包的情势,向扫瞄器写进数据。这长短常慢的。别的,注释大批剧本和HTML,将招致在剧本引擎和HTML之间切换,也下降了功能。因而,请利用上面技能:用对Response.Write的一个挪用,交换内嵌的麋集组合表达式。比方,鄙人面典范中,每行每字段有一个对呼应流的写进,每行都有很多VBScript和HTML之间的切换:
<table>
<%ForEachfldinrs.Fields%>
<th><%=fld.Name%></th>
<%
Next
WhileNotrs.EOF
%>
<tr>
<%ForEachfldinrs.Fields%>
<td><%=fld.Value%></td>
<%Next
</tr>
<%rs.MoveNext
Wend%>
</table>
上面是更无效的代码,每行中有一个对呼应流的写进。一切代码均包括在一个VBScript块内:
<table>
<%
Foreachfldinrs.Fields
Response.Write("<th>"&fld.Name&"</th>"&vbCrLf)
Next
WhileNotrs.EOF
Response.Write("<tr>")
ForEachfldinrs.Fields%>
Response.Write("<td>"&fld.Value&"</td>"&vbCrLf)
Next
Response.Write"</tr>"
Wend
%>
</table>
当呼应缓冲被禁用时,本技能的感化更年夜。最好启用呼应缓冲,然后察看批处置Response.Write是不是对功能有匡助。
(在这一惯例中,构建表的主体的嵌套轮回(WhileNotrs.EOF...)能够被经心机关的、对GetString的挪用所替换。)优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
页:
[1]