二十八条改善asp性能和外观的技巧(二)

二十八条改善asp性能和外观的技巧(二)

ID:23817780

大小:62.00 KB

页数:8页

时间:2018-11-10

二十八条改善asp性能和外观的技巧(二)_第1页
二十八条改善asp性能和外观的技巧(二)_第2页
二十八条改善asp性能和外观的技巧(二)_第3页
二十八条改善asp性能和外观的技巧(二)_第4页
二十八条改善asp性能和外观的技巧(二)_第5页
资源描述:

《二十八条改善asp性能和外观的技巧(二)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、二十八条改善ASP性能和外观的技巧(二)>>教育资源库技巧11:在子例程和函数中使用局部变量局部变量是那些在子例程和函数内声明的变量。在函数或子例程内,局部变量访问比全局变量访问更快。局部变量的使用也会使代码更清晰,因此应尽量使用局部变量。技巧12:将经常使用的数据复制到脚本变量中当访问ASP中的对象时,应将经常使用的对象数据复制到脚本变量中。这样做可减少方法调用,因为方法调用与访问脚本变量相比,开销相对较大。当访问Collection和Dictionary对象时,这种技术也会减少开销很大的查找。一般来说,如果您打算不止一次访问对象数据,那么

2、就应将数据放到脚本变量中。这种优化的主要目标是Request变量(Form和QueryString变量)。例如,您的站点可传递一个名为UserID的QueryString变量。假设此UserID在特定页面上被引用12次。可以无须调用Request(?UserID?)12次,而是在ASP页面最上面将UserID指派到一个变量。然后在该页面自始至终使用该变量。这样就省去了11次方法调用。实际上,访问属性或方法的开销并没有那么大。下面举一个例子,说明某相当常见的代码(从语法上讲):Foo.bar.blah.baz=Foo.bar.blah.qaz(

3、1)IfFoo.bar.blah.zaq=Foo.bar.blah.abcThen'...当此代码运行时,下面是发生的情况:变量Foo被解析为全局对象。变量bar被解析为Foo的成员。这实际就是一次方法调用。变量blah被解析为Foo.bar的成员。这又是一次方法调用。变量qaz被解析为foo.bar.blah的成员。没有错,这还是一次方法调用。调用Foo.bar.blah.quaz(1)。再一次方法调用。懂了吗?再次执行步骤1至步骤3以解析baz。系统并不知道调用qaz是否改变对象模型,因此必须再次执行步骤1至3以解析baz。将baz解析为

4、Foo.bar.blah的成员。赋予属性。再次执行步骤1至步骤3以解析zaq。再次执行步骤1至步骤3以解析abc。正如您可看到的,效率相当差(且慢)。以VBScript写此代码的快速方法是:Setmyobj=Foo.bar.blah'dotheresolutionofblahONCEMyobj.baz=myobj.qaz(1)IfMyobj.zaq=Myobj.abcThen'...如果您使用VBScript5.0或更高版本,您可以使用yArray()RedimMyArray(2)MyArray(0)=?hello?MyArray(1)=?g

5、ood-bye?MyArray(2)=?fareeothercodeorespacehappens,then...RedimPreserveMyArray(5)MyArray(3)=?morestuff?MyArray(4)=?evenmorestuff?MyArray(5)=?yetmorestuff?%>最好一开始就将数组的初始大小Dim正确(在本例中,是5)比Redim数组使其更大好得多。您可能浪费一些内存(如果您没有使用所有的元素),但获得的好处是速度变得更快。技巧14:使用响应缓冲您可以通过启用“响应缓冲”,将要输出的一整页缓

6、冲起来。这样就将写到浏览器的量减到最少,从而改善总体性能。每个写操作都会产生很大的系统开销(在IIS中以及在通过网络发送的数据量方面),因此写操作越少越好。由于其启动慢且使用Nagling算法(用来减轻网络塞车情况),TCP/IP在发送一些大的数据块时比必须发送许多小的数据块时的效率高得多。有两个方法启用响应缓冲。第一种,您可以使用InterServicesManager为整个应用程序启用响应缓冲。我们建议采用这种方法,在IIS4.0和IIS5.0中默认为新的ASP应用程序启用响应缓冲。第二种,可以在每个ASP页面的接近顶端的地方加入下面的代

7、码行,从而启用响应缓冲:<%Response.Buffer=True%>此代码行必须在任何响应数据被写到浏览器之前执行(即,在任何HTML出现在ASP脚本之前以及在使用Response.Cookies集合设置任何Cookies之前)。一般来说,最好为整个应用程序启用响应缓冲。这样,您就不必在每个页面最上面写入上述的代码行。Response.Flush关于响应缓冲有一个常见的抱怨,就是用户感觉到ASP页面的响应速度很慢(即使整个响应时间得到改进),因为他们必须等到整个页面生成,然后他们才能看到东西。对于运行时间长的页面,您可以设置R

8、esponse.Buffer=False,禁用响应缓冲。但是,一个更好的策略是利用Response.Flush方法。这种方法将ASP转换的所有HTML送到浏览器。例

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。