登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
每日签到
每天签到奖励2圆-6圆
发帖说明
VIP申请
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
VIP申请
VIP网盘
网盘
联系我们
每日签到
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
使用Response.Flush方法实时显示处理过程的状态信息 ...
使用Response.Flush方法实时显示处理过程的状态信息
[ 复制链接 ]
擘塞
2025-5-29 20:09:26
Web项目,在处理大数据量和复杂业务的情况下,用户在浏览器中点击一个按钮后,服务器需要处理几十秒甚至好几分钟,才能将处理结果反馈给用户,在这个漫长的等待过程中,用户面对毫无反应的浏览器会不知所措,即便提示用户正在处理,用户由于不知道服务器的处理状态,在长时间等待后,也会不耐烦或误以为操作失败,而去刷新或者关闭浏览器。
怎么应对这种状态,给用户一个更好的体验呢?最好是把处理过程中的状态信息即时反馈给用户,就像杀毒软件扫描文件的时候,把扫描结果即时显示出来。
HttpResponse
类 位于命名空间: System.Web 。
HttpResponse
类的方法和属性通过 HttpApplication、HttpContext、Page和UserControl类的Response属性公开。
HttpResponse
类的方法
Write
,将信息写入 HTTP 响应输出流。
HttpResponse
类的方法
Flush
,用来向客户端强制发送当前所有缓冲的输出数据,在请求处理期间,允许多次调用该方法。改方法仅仅在回发的情况(不包括异步回发情况)下才被支持。
我们可以利用
Response.Flush
方法来实现上述设想。
下面用一个示例来演示如何实时提示处理过程的状态。出于演示的目的,将不考虑具体的业务。
在网站项目里,新建一个Web窗体Default.aspx。
窗体上放置一个Button控件,给Button控件添加“Click”处理事件。我们将单击这个Button,来触发传说中的大数据量的超复杂的业务运算。
再往窗体上添加一个元素:
注意的src属性的值是“Output.aspx”。再追加一个新的Web窗体,名为“Output.aspx”,通过请求它在里来显示处理结果。
删除Output.aspx页面上的所有自动生成的html代码。在Page_Load事件里添加处理过程,处理那个传说中的大数据量的超复杂的业务运算。并且在这个处理过程中,实时地用Response.Write方法输出当前处理的状态信息,并且用Response.Flush强制回发给客户端,使用户得到及时的反馈。
代码很简单,很容易理解,注意两点:
1、在Default.aspx的Button的“Click”事件处理过程中,定义一个Session,存储一个标识和其他画面输入的数据,用于传递到Output.aspx页面,在Output.aspx页面上判断,只有该Session存在,并且标识正确的情况下,才使用Session保存的其他信息,来做那个传说中的大数据量的超复杂的业务运算;
2:在每次输出信息的时候,同时输出一行脚本,控制着的的垂直滚动条滚动到最底下,让用户不用拖动滚动条就可以看到最新的输出信息。
全部的代码如下:
Default.aspx
Code
Demo - HttpResponse.Flush 方法
实行次数
Output.aspx
Code
演示结果截图
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
使用
Response
Flush
方法
实时
相关帖子
Redis 介绍与 Node.js 使用教程
使用Yolo12算法进行区域内实时目标计数
SpringBoot使用AOP优雅的实现系统操作日志的持久化!
磁盘性能测试工具FIO-使用教程
Vim在Windows的安装与基本使用
使用unsloth实现LoRA微调
$\LaTeX{}$之图片使用
$\LaTeX{}$之表格使用
记录 使用PsExec启动System权限的WPF 程序
文生图模型Stable Diffusion使用详解
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
Redis 介绍与 Node.js 使用教程
0
204
嗣伐
2025-09-05
业界
使用Yolo12算法进行区域内实时目标计数
0
114
孟清妍
2025-09-05
业界
SpringBoot使用AOP优雅的实现系统操作日志的持久化!
0
122
马璞玉
2025-09-07
业界
磁盘性能测试工具FIO-使用教程
0
365
吕清莹
2025-09-07
安全
Vim在Windows的安装与基本使用
0
391
福清婉
2025-09-07
安全
使用unsloth实现LoRA微调
0
783
心麾浪
2025-09-07
科技
$\LaTeX{}$之图片使用
0
77
即息极
2025-09-10
科技
$\LaTeX{}$之表格使用
0
641
袁可佳
2025-09-10
安全
记录 使用PsExec启动System权限的WPF 程序
0
842
姬宜欣
2025-09-10
业界
文生图模型Stable Diffusion使用详解
0
254
县挫伪
2025-09-11
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
擘塞
2025-5-29 20:09:26
关注
0
粉丝关注
17
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
杭环
9988
凶契帽
9988
4
氛疵
9988
5
黎瑞芝
9988
6
猷咎
9986
7
里豳朝
9986
8
肿圬后
9986
9
蝓俟佐
9984
10
虽裘侪
9984
查看更多