Response.Flush的使用心得
发布时间:2010-04-08 12:57:00
(1)Flush的内容至少要有256字节
经过反复的测试,我得出一个结论。就是flush的内容至少要有256字节。也就是只有编译产生了至少256字节的数据,才能在执行Response.Flush()以后将信息发到客户端并显示。
以下给出一个示例代码:
<html>
<body>
<%
Call TestFlush ''Flush测试
%>
</body>
</html>
<%
''=================================================
Sub DoSomeThing ''模拟一个后台操作
For i=1 To 10000000
None = i
Next
End Sub
''=================================================
Function LongSpaceStr() ''制造一个长空字符串
LongSpaceStr = ""
For i=1 To 256
LongSpaceStr = LongSpaceStr& " "
Next
End Function
''=================================================
Sub TestFlush ''Flush测试
'用LongSpaceStr加长输出内容,以使Flush生效
Response.Write(LongSpaceStr&"正在执行操作,请等待..."&Now())
Response.Flush()
Call DoSomeThing
Response.Write("<br>操作成功完成!"&Now())
Response.Flush()
End Sub
''=================================================
%>
(2)Response.Flush()调用之前不能出现未闭合的HTML标签(<html> ,<body>除外)
比如,以下代码经测试是不行的:
<html>
<body>
<table ID="MyTable"><tr><td>
<%
Call TestFlush ''Flush测试
%>
</td></tr></table>
</body>
</html>
<%
''......略去与上例中同样的代码......
%>
以下代码经测试是可行的:
<html>
<body>
<table ID="MyTable"><tr><td></td></tr></table>
<%
Call TestFlush ''Flush测试
%>
</body>
</html>
<%
''......略去与上例中同样的代码......
%>
以下代码经测试也是可行的:
<html>
<body>
<%
Call TestFlush ''Flush测试
%>
<table ID="MyTable"><tr><td></td></tr></table>
</body>
</html>
<%
''......略去与上例中同样的代码......
%>
--------没有在ASP.NET下做类似测试,道理应该是一样。---------
--------夏春涛 xchuntao@163.com--------
语法 Response.Flush
注释 如果在 ASP 页上调用 Flush 方法,则服务器将响应该页上保持活动的请求。
Response.Flush
对于响应缓冲,因为用户在看到东西之前必须等待整个页面生成,所以用户可能够感觉到ASP页面响应比较慢(虽然整体响应时间缩短了);对一个运行时间较长的页面,可以同过Response.Buffer = False 来关掉响应缓冲;但更好的策略是使用
Reponse.Flush方法。这个方法把所有已经由ASP生成的HTML输出到浏览器中。例
如,一个1,000行的大表,在写完100行之后,ASP可以调用Response.Flush来强制把结果写到浏览器中,这样,用户就可以在其余行生成之前先看到100行数据。这个技术能让你两全其美—响应缓冲和渐进式地在浏览器表现数据。
(注意,在上面的1,000行表的例子中,很多浏览器在遇到</table>标记之前可能并不画出整个表。如果想让浏览器逐步显示出数据,可以将一个大表分成多个小表,然后对每个小表调用Response.Flush。新版本的IE会在下载完整个表之前显示表,并且如果指定了表的列宽,显示的速度会更快。)
另外,当产生一个非常大的页面时,响应缓冲可能会消耗掉许多的服务器内存。这个问题也可以通过使用Response.Flush来解决。
猜你喜欢
- 设计与开发之间本有一线界限,但当时代步入又一个十年,这个线变得更加模糊甚至感觉不到它的存在。使用PS设计网页版面,足矣?或许五年前是吧!现在
- 第一招、mysql服务的启动和停止net stop mysqlnet start mysql第二招、登陆mysql语法如下: mysql -
- 如果你能很好的理解我下面的一句话,那这些都不是问题了。asp是服务器端语言,它的作用是动态生成客户端浏览器所能识别的html css jav
- Check In/Out功能简介:该功能是专门针对多用户管理而预设的。即多用户使用多帐号管理同一站点。
- 没有多大变动,主要是返回错误信息,以便调用函数部分可以alert出来。据说可以用正则表达式校验,下次再研究下。//-------------
- 前阵子刚完成一个B/S架构的学校办公系统,体会就是表太多,文件太多,而每个文件中类似的操作(代码)也太多了,例如学生信息和教师信息操作,st
- 1.删除所有的目录,只保留datasharebin2.删除BIN下面除以下三个文件之外的所有文件:libmysql.dll(MYSQL5中的
- 根据Nicholas的说法,有四种代码会拖慢脚本的运行,并最终导致脚本失控。分别是次数过多的同步循环、庞大的函数体、不恰当的递归和不合理的D
- 现在我们常见到有些网站常有这样个功能:有个按钮(如工作职位或省份或地区的选择等等)你一点就跳出一个图层(对话框)让你选择之类的。关闭它就点右
- 许可和分发权限Access 2003 Developer Extensions随附的许可协议简化了解决方案或代码段的分发过程。这些协议包括免
- 经过一个阶段的asp学习,下面我们结合所学过的内容建立一个最简单的聊天室,虽然很简单,但是大家可以通过他来掌握一个聊天室建立的基本过程,并且
- 中介者模式中介者模式(Mediator Pattern)是一种常用的设计模式,用于解决各个对象之间的复杂依赖关系,使得各个对象之间可以独立地
- 网站可用性是任何网站的基本要素,而可用的导航更是网站所必需的要素之一。导航决定了用户如何与网站进行交互。如果没有了可用的导航,那么网站内容就
- 在第一章,我们讲过position,当它取值absolute的时候,即绝对定位。既然是定位,就要有参照物。一般来讲,这个定位的参照物是bod
- 在给客户做个程序时,突然遇到个问题,就是产品页用户提交视频播放文件时,如何根据提交的网址内的视频格式进行正确的播放呢....郁闷了一会,想好
- -------------- 函数检索 --------------trim函数: trim() lTrim() rTrim()校验字符串是
- 首先安装WSH,NT(SERVER、WORKSTATION)、W2K服务器上需要安装WSH2.0或者更高版本。然后,参照下列代码即可:<
- 多级联动下拉选择框,动态获取下一级,每一级数据为XML,可支持无限级(浏览器端需要Microsoft.XMLDOM支持)项目需要,一个材料类
- 下面是asp代码实现列出sql数据库中存储过程的功能,可自行添加其它功能:< HTML >< 
- javascript的分号代表语句的结束符,但由于javascript具有分号自动插入规则,所以它是一个十分容易让人模糊的东西,在一般情况下