ASP网页编程之改良ASP功能和表面的技能集锦(转自盘算...
ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。技能|功能技能19:使用扫瞄器的考证功效当今的扫瞄器对一些初级功效如XML、DHTML、Java小程序和远程数据服务供应撑持。尽量利用这些功效。一切这些手艺都能够实行客户机端考证和数据缓存,免除了到Web服务器的往复。假如您在运转一个智能扫瞄器,那末扫瞄器就可以为您举行一些考证(比方,在实行POST之前,反省信誉卡校验和是不是无效)。尽量利用这一功效。经由过程削减客户-服务器之间的往复,可下降Web服务器上的负载,并能削减收集通讯量(固然发送到扫瞄器的第一个页面大概对照年夜)和服务器会见的任何后端资本。别的,用户不用像住常一样读取新页,从而用户的感到会好一些。如许做其实不意味着您能够不举行服务器端考证-您还应一直举行服务器端考证。这能够避免因为某种缘故原由(如黑客,或扫瞄器不运转客户机端考证例程)客户机发生毛病的数据。人们已举行了大批的事情,开辟“自力于扫瞄器”的HTML。恰是因为这类忧愁,开辟职员不肯再利用盛行的扫瞄器功效,但这些功效本能够改良功能。关于一些真实的高功能站点,必需体贴扫瞄器“会见”成绩,一个好的战略是优化页面,使其顺应盛行的扫瞄器。利用扫瞄器功效组件,能够在ASP中便利地检测到扫瞄器功效。MicrosoftFrontPage等工具有助于计划合适于扫瞄器和指定HTML版本的代码。拜见WhenisBetterWorse?WeighingtheTechnologyTrade-Offs,以懂得更进一步的会商。
技能20:制止在轮回语句中利用字符串串连
很多人在轮回语句中创建一个字符串,以下所示:
s=?<table>?&vbCrLf
ForEachfldinrs.Fields
s=s&?<th>?&fld.Name&?</th>?
Next
WhileNotrs.EOF
s=s&vbCrLf&?<tr>?
ForEachfldinrs.Fields
s=s&?<td>?&fld.Value&?</td>?
Next
s=s&?*lt;/tr>?
rs.MoveNext
Wend
s=s&vbCrLf&?</table>?&vbCrLf
Response.Writes
接纳这类办法会呈现一些成绩。第一个成绩是重复串连字符串必要花两次方的工夫,更普通地说,运转这类轮回语句所花的工夫与纪录数乘以字段数所得值的平方成反比。在将ADO纪录集转换为HTML表的特定情形下,招考虑利用GetRows或GetString。假如在JScript中串连字符串,出格倡议利用+=运算符,即,利用s+=?某字符串?,而不利用s=s+?某字符串?。
技能21:启用扫瞄器和代办署理缓存
在默许情形下,ASP克制在扫瞄器和代办署理中举行缓存。这是成心义的,由于就本色而言ASP页面是静态的,下面有随工夫不休变更的潜伏信息。假如页面不请求在每一个视图长进行革新,您应启用扫瞄器和代办署理缓存。这可以使扫瞄器和代办署理在必定的工夫内利用页面的“缓存”正本,您能够把持工夫的是非。缓存能够年夜年夜加重服务器上的负载,延长用户的守候工夫。
哪种静态页面可作为要缓存的页面呢?
注重,在利用扫瞄器或代办署理缓存的情形下,Web服务器上纪录的会见次数削减了。假如您想正确地丈量一切页面视图或张帖发布,您就不但愿利用扫瞄器和代办署理缓存。扫瞄器缓存由HTTP“过时”报头把持,该报头由Web服务器发送给扫瞄器。ASP供应两个复杂的机制发送此报头。要设置页面使其过量少分钟后到期,则应设置Response.Expires属性。
技能22:尽量利用Server.Transfer取代Response.Redirect
Response.Redirect让扫瞄器哀求另外一个页面。此函数经常使用来将用户重定向到一个登录Response.Redirect让扫瞄器哀求另外一个页面。此函数经常使用来将用户重定向到一个登录或毛病页面。由于重定向强迫哀求新页面,了局是扫瞄器必需到Web服务器往复两次,且Web服务器必需多处置一个哀求。IIS5.0引进了一个新的函数Server.Transfer,它将实行转移到统一台服务器上的另外一个ASP页。如许就制止过剩的扫瞄器-Web-服务器的往复,从而改良了整体体系功能和延长了用户的呼应工夫。反省“重定向”中的“新的偏向”,下面应当是Server.Transfer和Server.Execute。
技能23:在目次URL中利用后斜杠
一个相干的技能是确保在指向目次的URL中利用后斜杠(/)。假如您省略了后斜杠,扫瞄器就会向服务器收回哀求,只是为了告知服务器,它在哀求目次。扫瞄器就会收回第二个哀求,将斜杠附加到URL前面,只要今后,服务器才干以该目次的默许文档或目次列表(假如没有默许文档且启用了目次扫瞄的话)呼应。附加斜杠可省往第一个、无用的住返。为便于用户浏览,能够省略显现称号中的后斜杠。
技能24:制止利用服务器变量
会见服务器变量会使Web站点向服务器收回一个特别哀求,并搜集一切服务器变量,而不但是您哀求的谁人变量。这类情形相似于,在发霉的阁楼上,在一个文件夹中查找某个文件。当您想要找谁人文件时,您必需往阁楼上,先找到文件夹,然后才干找到这份个文件。当您想要找谁人文件时,您必需往阁楼上,先找到文件夹,然后才干找到这份文件。当您哀求服务器变量时,产生的情形是一样的-您第一次哀求服务器变量时,就会使功能遭到影响。前面的对别的服务器变量的哀求,则不会对功能发生影响。决不要会见非限制的Request工具(比方,Request("Data"))。关于不在Request.Cookies、Request.Form、Request.QueryString或Request.ClientCertificate中的项目,则隐式挪用Request.ServerVariables。Request.ServerVariables汇合比别的汇合慢很多。
技能25:晋级到最新和最杰出的
体系组件是恒定的,我们倡议您将它们晋级到最新和最好的设置。最好晋级到Windows2000(因而,也应晋级到IIS5.0、ADO2.5、MSXML2.5、InternetExplorer5.0、VBScript5.1和JScript5.1)。在多处置器盘算机上,实行IIS5.0和ADO2.5可明显改良功能。在Windows2000下,ASP能够很好地扩大到四个处置器或更多,而在IIS4.0下,ASP的扩大性不克不及超越两个处置器。在使用程序中利用的剧本代码和ADO越多,晋级到Windows2000以后,功能的改良就会越多。假如今朝还不克不及晋级到Windows2000,您能够晋级到SQLServer、ADO、VBScript和JScript、MSXML、InternetExplorer和NT4ServicePacks的最新版本。它们都可进步功能和牢靠性。
技能26:优化Web服务器
有多种IIS优化参数能够改良站点功能。比方,关于IIS4.0,我们经常发明,增添ASPProcessorThreadMax参数(拜见IIS文档)能够明显改良功能,出格是在偏向于守候后端资本(如数据库)或别的两头产物(如屏幕刷)的站点上。在IIS5.0中,您大概发明启用ASPThreadGating比查找一个AspProcessorThreadMax最好设置效力更高,这一点如今已为人人所熟知。
最好的设置设置取决于(个中一些要素)使用程序代码、运转地点的体系硬件和客户机事情负荷。找到最好设置的独一办法是举行功能测试.
技能27:举行功能测试
正如我们在后面已讲过,功能是一个特性。假如您想要改良站点的功能,那末就制订一本性能方针,然后慢慢改善,直抵达到方针为止。不要,就不举行任何功能测试。一般,在项目停止时,再作必须的布局调剂已为时太晚,您的客户将为此感应扫兴。将功能测试作为您一样平常测试的一部分来举行。能够对单个组件分离举行功能测试,如针对ASP页或COM工具,或将站点作为一个全体来测试。很多人利用单个扫瞄器哀求页面,来测试Web站点的功能。如许做就会给您一个感到,即站点的呼应才能很好,但如许做实践上其实不能告知您在负载前提下站点的功能怎样。
一样平常情形下,要想正确地测试功能,您必要一个专门的测试情况。此情况应包含硬件,其处置器速率、处置器数目、内存、磁盘、收集设置等方面与临盆情况的硬件类似。其次,您必需指定客户机的事情负荷:有几同时的用户,他们收回哀求的频次,他们点击页面的范例等等。假如您没有站点实践利用情形的数据,您必需估量一下利用的情形。最初,您必要一个能够摹拟预期客户机事情负荷的工具。有了这些工具,您就能够入手下手回覆诸如“假如我有N个同时的用户,那末必要几服务器?”之类的成绩。您还能够找出呈现瓶颈的缘故原由,并以此为方针举行优化。
(网页编纂:风之翼)
</p>对用户来说可预见费用、节约费用,可以做到花少钱办大事。由于省去了购买软件和硬件等的前期费用,用户可以租用较高级的应用软件。ASP的收费是根据软件的类型、客制化程度、用户数量、服务期限来定的,对客户来说这笔费用是可以预见的。方便于客户应用软件的升级。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助: 在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 不能只是将它停留在纸上谈兵的程度上。 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 掌握asp的特性而且一定要知道为什么。
页:
[1]