asp.net-mvc – 流文本输出长时间运行的动作?
发布时间:2020-12-15 23:32:18 所属栏目:asp.Net 来源:网络整理
导读:我有一些实用程序操作通过返回内容(“我的文本”,“文本/普通”)返回文本输出. 有时这些方法需要几分钟才能运行(即日志解析,数据库维护). 我想修改我的操作方法,以便一次不返回所有输出,而是在准备好时将文本流传输到客户端. 这是一个有创意的例子: public
我有一些实用程序操作通过返回内容(“我的文本”,“文本/普通”)返回文本输出.
有时这些方法需要几分钟才能运行(即日志解析,数据库维护). 我想修改我的操作方法,以便一次不返回所有输出,而是在准备好时将文本流传输到客户端. 这是一个有创意的例子: public ActionResult SlowText() { var sb = new System.Text.StringBuilder(); sb.AppendLine("This happens quickly..."); sb.AppendLine("Starting a slow 10 second process..."); System.Threading.Thread.Sleep(10000); sb.AppendLine("All done with 10 second process!"); return Content(sb.ToString(),"text/plain"); } 如所写,此操作将在10秒后返回三行文本.我想要的是一种保持响应流打开的方法,并且立即返回前两行,然后在10秒后返回第三行. 我记得10年前在Classic ASP 3.0中使用Response对象.有没有官方的,MVC友好的方式来完成这个? – 更新:在应用程序中使用Razor .cshtml;但不会对这些操作使用任何视图(只是ContentResult). 解决方法
直接写入Response对象应该可以工作,但只能在一些简单的情况下.许多MVC功能取决于输出写入器替换(例如部分视图,Razor视图引擎等),如果直接写入响应,则您的结果将失效.
但是,如果您不使用视图,而是直接在控制器中写入,那么您应该是正常的(假设您的操作未被称为子操作). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – MVC DropDownListFor – NullReferenceExceptio
- asp.net – 什么方法可以防止母版页更改元素ID?
- asp.net – 拒绝访问web.config中的“admin”文件夹
- asp.net – 如何确保使用后无法恢复上传的文件内容?
- ASP.NET中的Akka.NET actor系统
- asp.net-mvc – Asp.Net Mvc Checkbox为默认值?
- asp.net渲染折线图
- asp.net – 在wcf服务中使用aspNetCompatibilityEnabled =“
- asp.net-core – 删除继承的ASP.NET Core appsettings
- asp.net – 处理“潜在的危险Request.Form值…”
推荐文章
站长推荐
- 如何解决分布式系统中的跨时区问题[原理篇]
- asp.net – 从GridView中的2列动态生成超链接
- asp.net-core – IApplicationBuilder不包含UseS
- asp.net-mvc – 使用ASP.Net MVC中的模型绑定器更
- 使用Asp.Net Core时,如何查看为Razor Page生成的
- asp.net-mvc – 如何识别ASP.NET MVC网站?
- asp.net – 从HTML生成MHTML
- asp.net – Visual Studio构建错误“路径中的非法
- asp.net – IIS 7强制新鲜图像
- asp.net – Http Handler正在iis express中工作,
热点阅读