asp.net-mvc – 带MVC结果的Response.Flush无效
发布时间:2020-12-16 04:26:48 所属栏目:asp.Net 来源:网络整理
导读:我们正在实现长时间运行的进程,以使用asp.net 3将数据库内容下载为xml. 总文档生成时间约为3-5分钟,我们希望尽快回复第一个字节.我们已经覆盖了System.Web.Mvc.FileResult,并尝试执行以下操作: protected override void WriteFile(HttpResponseBase respons
我们正在实现长时间运行的进程,以使用asp.net 3将数据库内容下载为xml.
总文档生成时间约为3-5分钟,我们希望尽快回复第一个字节.我们已经覆盖了System.Web.Mvc.FileResult,并尝试执行以下操作: protected override void WriteFile(HttpResponseBase response) { Stream outputStream = response.OutputStream; byte[] header = xmlExportService.XmlHeader(); response.Flush(); outputStream.Write(header,header.Length); response.Flush(); //// some long running generation here } 在Windows 7下的本地iis上,我在浏览器中收集“保存文件”对话框.在生产时,Windows Server 2008 R2在生成整个文件之前没有对话框. 有任何想法吗? 解决方法
不确定这是否对任何人有帮助,但如果启用了HTTP压缩,Response.Flush将无法“正常工作”.我们在服务器上启用了动态压缩,对Response.Flush的调用只会挂起.经过一些研究,它与服务器正在等待所有输出的事实有关,因此它可以“压缩并发送它”.
由于我们使用MVC,我正在考虑使用属性来动态控制是否为非静态页面启用了压缩.现在,我们在视图中删除了Response.Flush调用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 如何将HttpContext传递给MVC3应用程序中的
- asp.net-mvc – 在asp.net mvc控制器中使用构造函数注入的I
- asp.net-mvc – 添加TwilioController基类继承后,Microsoft
- asp.net-mvc-3 – 无法加载文件或程序集“System.Data.Enti
- asp.net-mvc – 引用不同版本的Json.NET DLL
- ASP.NET MVC Ajax错误返回视图而不是ajax
- asp.net-mvc – 如何判断MVC AsyncController线程是否在ASP
- asp.net-mvc-4 – ASP.NET MVC 4中的单页面应用程序路由
- asp.net-mvc-3 – 如何确保Asp.net MVC项目中不同控制器之间
- 打造跨平台.NET Core后台服务
推荐文章
站长推荐
热点阅读