- 热门文章:
- · ASP中使用Form和QueryString集合(1)
- · ASP中使用Form和QueryString集合(2)
- · ASP中使用Form和QueryString集合(3)
- · ASP中使用Form和QueryString集合(4)
- · ASP内置对象Request和Response详解(1)
- · ASP内置对象Request和Response详解(2)
- · ASP内置对象Request和Response详解(3)
- · 20种看ASP程序源码的方法及工具
- · 防范ASP木马的十大基本原则
- · Web服务器上防范基于ASP程序的木马(2)
- · 利用ASP木马程序获取管理权限(1)
- · IIS服务器排错指南及错误代码大全
上一篇:ASP中使用ServerVariables集合详解(3) >>
ASP中使用ServerVariables集合详解(4)
正如已看到过的,IIS 5.0中ASP 3.0页面缓冲是缺省打开的,在早期的版本中是缺省关闭的。微软告诉我们缓冲在IIS 5.0中提供了更有效的网页传送,这就是缓冲缺省状态被改变的原因。在大部分情况下,这对我们没有影响。但是,假如有一个非常大的网页,或一个用ASP或别的服务器端代码和组件花费一定时间创建的网页,当其各部分完成时,我们能够分批刷新它们到客户:
...
... Code to create first part of the page
...
Response.Flush
...
... Code to create next part of page
...
Response.Flush
...
有时可能希望在页面结束之前的某些点上停止代码的执行,可以通过调用End方法去刷新所有的当前内容到客户并中止任何进一步的处理过程。
...
... Code to create first part of the page
If strUserName = “” Then Response.Clear
...
... Code to create a new version of this part of the page
...
这里有两上演示缓冲和重定向的实例网页,可以从“Response Object”主页面(sow_response.asp)下载它们。第一个Response.Redirect例子网页命名为redirect.asp,它在缓冲的页面中定入一些内容,清除缓冲区,并重定向到另一个网页:
For intLoop = 1 To 1000000
Response.Write “.”
Next
Response.Clear
Response.Redirect “show_redirect.asp”
Response.End
目标页show_response.asp,做同样的工作,但重定向则是回到“Response Object”主页。因为这些网页都在缓冲区内,而且所有的输出在重定向之前必须清除,故在浏览器中没有可见的输出。然而,可以通过观察浏览器的状态看到发生的每一次重定向。如下图所示:
<img src=http://go2.163.com/~davelu/asp14.jpg>
在“Response Object”主页中,点击“Response.Flush”链接将打开第二个示例网页usebuffer.asp,它简单地遍历一个字符串的每一个字符,以一定的延迟将它们刷新到客户,这虽是Web服务器和ASP极低效率的使用方式,但它演示了缓冲的工作方式。
<img src=http://go2.163.com/~davelu/asp15.jpg>
下面是所要求的最小化的ASP代码,注意我们分别把每个字符刷新到浏览器,因为不这样的话它将被存放在缓冲区中,直至网页完成:
strText = “This text has been flushed to the browser using “ & _
“<B>Response.Flush</B>
”
For intChar =1 To Len(strText)
For intWrite = 1 To 100000
Next
Response.Write Mid(strText,intChar,1)
Response.Flush
Next
2) Response.IsClientConnected属性
IsClientConnected属性在ASP 2.0中已经存在了,但却有些不可靠。在其返回一个准确的结果之前必须发送一些输出到客户。这一问题在ASP 3.0中已被解决。现在这一属性可被自由使用。
IsClientConnected是观察用户是否仍连到服务器和正在载入ASP创建的网页的有用方式。如果用户断开连接或停止下载,我们就不用再浪费服务器的资源创建网页,因为缓冲区内容将被IIS丢弃。所以,对那些需要大量时间计算或资源使用较多的网页来说,值得在每一阶段都检查浏览器是否已离线:
...
... Code to create first part of the page
...
If Response.IsClientConnected Then
Response.Flush
Else
Response.End
End If
...
... Code to create next part of page...
下一篇:ASP中使用Form和QueryString集合(1) >>
相关文章:
- · IIS服务器排错指南及错误代码大全(2)
- · IIS服务器排错指南及错误代码大全(3)
- · 用ISAPIfilter使INC、ASA文件安全
- · IIS HTTP500内部错误解决办法(2)
- · IIS HTTP500内部错误解决办法(3)
- · ASP实用技巧:强制刷新和判断文件地址
- · ASP木马Webshell安全解决办案
- · 由神秘到简单 教你在网页中添加微软地图(1)
- · 由神秘到简单 教你在网页中添加微软地图(2)
- · 在Apache上调试ASP.NET 1.1/2.0代码
- · ASP.NET入门随想之多态、接口与委托(1)
- · ASP.NET入门随想之多态、接口与委托(2)
- · ASP.NET 2.0运行时简要分析(1)
- · ASP.NET 2.0运行时简要分析(2)
- · 由神秘到简单 教你在网页中添加微软地图(3)
- · 由神秘到简单 教你在网页中添加微软地图(4)
- · 由神秘到简单 教你在网页中添加微软地图(5)
- · 由神秘到简单 教你在网页中添加微软地图(6)
- · 由神秘到简单 教你在网页中添加微软地图(7)
- · ASP程序中提供在线文章翻译功能
- · ASP编程经典例子(1)
- · ASP编程经典例子(2)
- · 在ASP应用程序中限制重复提交同一表单
- · 在ASP应用程序中加入智能搜索
- · ASP连接11种数据库语法总结(1)
- · ASP连接11种数据库语法总结(4)
- · ASP连接11种数据库语法总结(5)
- · 无限级分类
- · 读取数据库中数据到数组的类
- · 网址和邮件地址的转换函数
- · ASP编码优化(1)
- · ASP编码优化(2)
- · 在ASP网站设计中表单验证
- · 动网论坛代码分析
- · asp中对ip进行过滤限制函数
- · 不用Golobal和session实现在线人数统计
- · 简单购物车教程
- · ASP生成柱型体,折线图,饼图源代码(1)
