未经许可禁止转载
概述:
在ASP很多场景中,我们会遇到加载大量数据的时候,用户需要等待一段时间才会显示完全的数据。
比如生成静态、数据分页等等。
成因:
大多在do while,while,for下运行大量数据、进行循环输出时,需要等待页面加载完成才会显示数据。
Flush方法原理:
在ASP中有一个方法一直被忽视,就是Flush缓冲数据,Flush方法会立即发送已缓存的 HTML 输出到浏览器而无需等待所有数据加载完成。
如果数据没有缓冲,那么每个请求都是asp程序执行一次所得到的结果。如果预先将数据缓冲,那么所得到的便是缓冲区的结果,除感官提升外,打开速度也会有很大提升。
使用方法:
1 Response.Buffer=true 2 /////////循环开始//////////////// 3 Response.Flush 4 Response.Clear 5 /////////循环结束////////////////
第1行表示打开打开缓冲区,若不设置为true,则会错误
第3行表示保持数据请求并输出到浏览器
第4行表示清除输出
其他说明:
当数据量少时,Flush方法可能不太明显,那是因为每次Flush的内容至少需要256个字节,我们当然可以给他造256个字节即可。
额外影响:
Flush方法可能在IE类某些版本的浏览器上无法正常运行,但这并不影响数据的展开。该方法对服务器性能的影响可以忽略不计。