(1)Flush的内容至少要有256字节
很多时候我们写的asp程序会因为做很多操作,所以会花上一分钟甚至几分钟时间。为了使软件使用者能够耐心的等待程序的执行,我们经常会希望有一个进度条来表示程序执行的状态。或者最起码要显示一个类似: “数据载入中”,“正在保存数据” 等的说明性文字。此时我们就会用到Response.flush()。他会将缓冲区中编译完成的数据先发送到客户端。
但是有很多时候,我们发现即使我们使用了Response.Flush(),但是并没有将前面的信息发到客户端来显示。呈献给我们的依然是白屏。经过反复的测试,我得出一个结论(仅代表个人观点,可随意引用,但后果自负)。就是flush的内容至少要有256字节。也就是只有编译产生了至少256字节的数据,才能在执行Response.Flush()以后将信息发到客户端并显示。
以上内容来自http://www.webjx.com/htmldata/2005-10-10/1128898276.html,经本人测试是正确的。以下给出一个示例代码:
<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)--------
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架