使用Response对象的Bufer属性可以指定是否缓冲页面输出。
语法格式:
Response.Buffer=True|False
如果将Bufer属性设置为True,则只有当前页的所有服务器脚本处理完毕或者调用了Flush或End方法后,服务器才将响应发送给客户端。如果将Bufer属性设置为False,则服务器在处理脚本的同时将输出发送给客户端。
使用Bufer属性时,应注意以下几点:
(1)在.asp文件中,设置Bufer属性的语句应该放在“〈%@LANGUAGE%〉”命令后面的第一行。如果在HTML或脚本输出之后更改Bufer属性值,则会出现错误。
(2)在ⅡS5.0及以后版本中,Bufer属性的默认值为True;在早期版本中该属性的默认值为False。也可以使用Internet信息服务管理单元来设置Bufer属性的默认值。
(3)如果当前ASP脚本缓冲设为True但未调用Flush方法,则服务器将使客户端的请求保持活动,不必为每个客户端创建新的连接,从而节省了时间。不过,缓冲将在服务器未处理完当前页的所有脚本前阻止在客户端显示响应。对于长的脚本来说,有可能会感觉到延迟。
【例4.3】编写两个ASP文件4-3a.asp和4-3b.asp,它们的功能都是将整数1~1000显示在浏览器上并计算所用时间,区别是:在文件4-3a.asp文件中将Bufer属性设置为True,在文件4-3b.asp文件中将属性设置为False,结果如图4-3(a)和图4-3(b)所示。
文件命名为4-3a.asp的代码如下:
〈% @ LANGUAGE=″VBScript″%〉
〈% Response.Buffer=True %〉
〈HTML〉
〈HEAD〉〈TITLE〉Response 输出时使用缓冲页示例〈/TITLE〉〈/HEAD〉
〈BODY〉
〈%
Start Time=Timer
For i=1 to 10000
Response .Write i&space (6)
If i mod 20=0 then Response.Write″〈br〉″
Next
EndTime=Timer
Interval=End Time-Start Time
Response .Write″〈b〉花费时间为:″&Interval&″秒.〈/B〉″(www.xing528.com)
%〉
〈/BODY〉
〈/HTML〉
文件命名为4-3b.asp的代码如下:
〈% @ LANGUAGE=″VBScript″ %〉
〈% Response .Buffer=False %〉
〈HTML〉
〈HEAD〉〈TITLE〉Response 输出时不使用缓冲页示例 〈/TITLE〉〈/HEAD〉
〈BODY〉
〈%
Start Time=Timer
For i=1 to 10000
Response .Write i&space (6)
If i mod 20=0 then Response .Write″〈br〉″
Next
End Time=Timer
Interval=EndTime-StartTime
Response .Write″〈b〉花费时间为:″&Interval& ″秒.〈/B〉″
%〉
〈/BODY〉
〈/HTML〉
图4-3 运行结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。