|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的刚入手下手学ASP时,照书里HTML中包括ASP
厥后,用Response.Write输入HTML
可如今看了这一篇文章,岂非真的要把Response.Write写成一句("&_?
你说说?
-------
(转http://www.ccidnet.com/html//tech/web/2000/11/10/58_1298.html)
甚么才是进步ASP功能的最好选择(一)
(青苹果事情室编译 2000年11月10日17:20)
将ASP天生的内容写进呼应流中最无效的办法是甚么?
利用ASP的一个最次要缘故原由是在服务器上天生静态内容。以是很分明,我们测试的出发点是断定将静态内容发送到呼应流中的最合适的体例。在多种选择中,有两个是最基础的:一是利用内联ASP标志,另外一个是利用Response.Write语句。
为测试这些选择,我们创立了一个复杂的ASP页面,个中界说了一些变量,然后将它们的值拔出表格中。固然这个页面很复杂也不是很有用,但它同意我们分别并测试一些独自的成绩。
利用ASP内联标志
第一个测试包含利用内联ASP标志<%=x%>,个中x是一个已赋值的变量。到今朝为止,这个办法是最简单实行的,而且它使页面的HTML部分坚持一种易于浏览和保护的格局。
<%OPTIONEXPLICIT
DimFirstName
DimLastName
DimMiddleInitial
DimAddress
DimCity
DimState
DimPhoneNumber
DimFaxNumber
DimEMail
DimBirthDate
FirstName="John"
MiddleInitial="Q"
LastName="Public"
Address="100MainStreet"
City="NewYork"
State="NY"
PhoneNumber="1-212-555-1234"
FaxNumber="1-212-555-1234"
EMail="john@public.com"
BirthDate="1/1/1950"
%>
<HTML>
<HEAD>
<TITLE>ResponseTest</TITLE>
</HEAD>
<BODY>
<H1>ResponseTest</H1>
<TABLE>
<tr><td><b>FirstName:</b></td><td><%=FirstName%></td></tr>
<tr><td><b>MiddleInitial:</b></td><td><%=MiddleInitial%></td></tr>
<tr><td><b>LastName:</b></td><td><%=LastName%></td></tr>
<tr><td><b>Address:</b></td><td><%=Address%></td></tr>
<tr><td><b>City:</b></td><td><%=City%></td></tr>
<tr><td><b>State:</b></td><td><%=State%></td></tr>
<tr><td><b>PhoneNumber:</b></td><td><%=PhoneNumber%></td></tr>
<tr><td><b>FaxNumber:</b></td><td><%=FaxNumber%></td></tr>
<tr><td><b>EMail:</b></td><td><%=EMail%></td></tr>
<tr><td><b>BirthDate:</b></td><td><%=BirthDate%></td></tr>
</TABLE>
</BODY>
</HTML>
/app1/response1.asp的完全代码
之前的最好(反响速率)=8.28msec/page
在HTML的每利用用Response.Write语句
很多对照好的进修文档倡议制止利用后面的那种办法。其次要来由是,在输入页面和处置页面施加反响工夫的过程当中,假如web服务器不能不在发送纯HTML和处置剧本之间举行转换,就会产生一种被称为高低文转换的成绩。年夜部分程序员一听到这里,他们的第一反响就是将原始的HTML的每行都包装在Response.Write函数中。
…
Response.Write("<html>")
Response.Write("<head>")
Response.Write("<title>ResponseTest</title>")
Response.Write("</head>")
Response.Write("<body>")
Response.Write("<h1>ResponseTest</h1>")
Response.Write("<table>")
Response.Write("<tr><td><b>FirstName:</b></td><td>"&FirstName&"</td></tr>")
Response.Write("<tr><td><b>MiddleInitial:</b></td><td>"&MiddleInitial&"</td></tr>")
…
/app1/response2.asp的片断
之前的最好(反响速率)=8.28msec/page
反响工夫=8.08msec/page
差=-0.20msec(削减2.4%)
我们能够看到,利用这类办法与利用内联标志的办法比拟在功能上取得的收益十分小,这大概是由于页面给服务器装载了一年夜堆小的函数挪用。这类办法最年夜的弱点是,因为如今HTML都嵌进剧本中,以是剧本代码变得加倍冗杂,加倍难以浏览和保护。
利用包装函数
当我们试图利用Response.Write语句这类办法时,最使人悲观的发明大概就是Response.Write函数不克不及在每行的开头处安排一个CRLF。因而,当你从扫瞄器中浏览源代码时,原本安排得十分好的HTML,如今成了没有停止的一行。我想,你的下一个发明大概会更令你可怕:在Response工具中没有其姊妹函数Writeln。以是,一个很分明的反响就是为Response.Write函数创立一个包装函数,以便给每行都附加一个CRLF。
…
writeCR("<tr><td><b>FirstName:</b></td><td>"&FirstName&"</td></tr>")
…
SUBwriteCR(str)
Response.Write(str&vbCRLF)
ENDSUB
/app1/response4.asp的片断
之前的最好(反响速率)=8.08msec/page
反响工夫=10.11msec/page
差=+2.03msec(增添25.1%)
固然,因为这类办法无效地使函数挪用次数更加,其对功能的影响也很分明,因而要不吝统统价值制止。具有取笑意味的是CRLF也向反响流中为每行增添了2个字节,而这是扫瞄器不必要出现到页面上的。格局化优秀的HTML所做的统统就是让你的合作者更简单浏览你的HTML源代码并了解你的计划。
将一连的Response.Write毗连到一个独自语句中
不思索我们后面用包装函数举行的测试,下一个符合逻辑的步骤就是从独自的Response.Write语句中提掏出一切的字符串,将它们毗连到一个独自语句中,如许就削减了函数挪用的次数,极年夜地进步了页面的功能。
…
Response.Write("<html>"&_
"<head>"&_
"<title>ResponseTest</title>"&_
"</head>"&_
"<body>"&_
"<h1>ResponseTest</h1>"&_
"<table>"&_
"<tr><td><b>FirstName:</b></td><td>"&FirstName&"</td></tr>"&_
…
"<tr><td><b>BirthDate:</b></td><td>"&BirthDate&"</td></tr>"&_
"</table>"&_
"</body>"&_
"</html>")
/app1/response3.asp的片断
之前的最好(反响速率)=8.08msec/page
反响工夫=7.05msec/page
差=-1.03msec(削减12.7%)
今朝,这是最优化的设置。
将一连的Response.Write毗连到一个独自语句中,在每行开头处增添一个CRLF
思索到那些请求他们的源代码从扫瞄器中看要很地道的人,我用vbCRLF常量在后面测试中每行的开头处拔出了一些回车,然后从头运转。
…
Response.Write("<html>"&vbCRLF&_
"<head>"&vbCRLF&_
"<title>ResponseTest</title>"&vbCRLF&_
"</head>"&vbCRLF&_
…
/app1/response5.asp的片断
后面的最好(反响速率)=7.05msec/page
反响工夫=7.63msec/page
差=+0.58msec(增添8.5%)
运转的了局在功能上有一点下降,这大概是因为分外的串连和增添的字符量。
回忆和观察
夙昔面有关ASP输入的测试中能够得出一些划定规矩:
*制止内联ASP的过量利用。
*老是将一连Response.Write语句毗连进一个独自语句内。
*永久不要在Response.Write四周利用包装函数来附加CRLF。
*假如必需格局化HTML输入,间接在Response.Write语句内附加CRLF。
结论:和PHP一样,ASP简单而易于维护,很适合小型网站应用,通过DCOM和MTS技术,ASP甚至还可以完成小规模的企业应用,但ASP的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。 |
|