asp.net – Response.Flush()仅适用于Firefox
发布时间:2020-12-16 03:32:31 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试在做一些冗长的工作之前向客户端发送一些内容: Response.Write("Processing...");Response.Flush();System.Threading.Thread.Sleep(5000);Response.Write("Finish");Response.End(); 在Firefox中,它按预期工作,但在IE8,Safari和Chrome中,它等待所
我正在尝试在做一些冗长的工作之前向客户端发送一些内容:
Response.Write("Processing..."); Response.Flush(); System.Threading.Thread.Sleep(5000); Response.Write("Finish"); Response.End(); 在Firefox中,它按预期工作,但在IE8,Safari和Chrome中,它等待所有代码处理完毕,然后显示整个文本. 我尝试发送一个更好的HTML,如下面的示例,但我得到相同的结果: Response.Write("<html><head><title>test</title></head><body>Processing...</body></html>"); Response.Flush(); System.Threading.Thread.Sleep(5000); Response.Write("Finish"); Response.End(); 谢谢! 解决方法
您遇到的问题是您发送的响应仍然不完整.即使您将缓冲区中的任何内容刷新到浏览器,仍然需要浏览器等待响应结束或处理到目前为止的内容 – 因此浏览器之间存在差异.
更糟糕的是,您可以期望服务器和浏览器之间的互联网上的某些中间节点集中器,防火墙等具有相同的行为. 最重要的是,如果您想确保浏览器对您的数据流执行某些操作,您必须使用Response.End完成它. 换句话说,如果您想先发送一些响应数据并延迟发送其余的响应数据,那么更好的选择是将响应分成两部分,完成第一部分并单独下载第二部分 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在asp.net core 2.0中使用identityserver4时的无限认证循环
- 有标签的ASP.NET WebControl吗?
- asp.net – 如何处理在IIS上运行的网站的计划任务?
- 实体框架 – 我们如何使用Breeze的本地时区生存
- asp.net-mvc – 具有html帮助的布尔隐藏和隐藏
- asp.net – 从表单身份验证转换为Windows身份验证
- asp.net-mvc – 如何使用需要js的Kendo UI MVC Extensions?
- ASP.NET:隐藏gridview中的列
- 数据注释 – MVC3中的ModelState.IsValid vs IValidateable
- asp.net – 如何防止未经授权的蜘蛛侠
推荐文章
站长推荐
- 为什么32位应用程序池在IIS中更有效?
- asp.net-mvc – 如何将401认证错误返回给RestSha
- IIS 7.0的ASP.NET进程是什么?
- 在ASP.NET中将HTML转换为PDF时保持CSS样式
- asp.net Gridview,1记录跨度两行
- asp.net-mvc-3 – MVC3非顺序索引和DefaultModel
- asp.net-mvc – requestValidationMode =“2.0”
- asp.net-mvc – 最初在使用AuthorizeAttribute时
- asp.net – Web浏览器进入kiosk模式
- asp.net – 将MemoryCache与HostFileChangeMonit
热点阅读