内容简介:在您的情况下,您应该创建一个新的ActionResult派生类,其ExecuteResult方法将逻辑封装在Page_Load方法中.您的操作方法应返回您的自定义类的实例,并且调用者将在适当的时候运行ExecuteResult方法.这完全绕过视图引擎,这样可以防止您正在运行的错误,并提供轻微的性能提升.http://stackoverflow.com/questions/2261198/binarywrite-exception-outputstream-is-not-available-when-a-c
我有一个使用响应BinaryWrite方法渲染流的视图.这一切都在ASP.NET 4使用Beta 2工作正常,但在RC版本中抛出此异常:
“HttpException” , “OutputStream is not available when a custom TextWriter is used.”
<%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage" %> <%@ Import Namespace="System.IO" %> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { if (ViewData["Error"] == null) { Response.Buffer = true; Response.Clear(); Response.ContentType = ViewData["DocType"] as string; Response.AddHeader("content-disposition", ViewData["Disposition"] as string); Response.CacheControl = "No-cache"; MemoryStream stream = ViewData["DocAsStream"] as MemoryStream; Response.BinaryWrite(stream.ToArray()); Response.Flush(); Response.Close(); } } </script> </script>
视图是从客户端重定向生成的(jquery替换前一页中的位置调用,使用Url.Action帮助程序渲染链接当然).这一切都在一个iframe中.
任何人都有一个想法为什么会发生这种情况?
在您的情况下,您应该创建一个新的ActionResult派生类,其ExecuteResult方法将逻辑封装在Page_Load方法中.您的操作方法应返回您的自定义类的实例,并且调用者将在适当的时候运行ExecuteResult方法.这完全绕过视图引擎,这样可以防止您正在运行的错误,并提供轻微的性能提升.
http://stackoverflow.com/questions/2261198/binarywrite-exception-outputstream-is-not-available-when-a-custom-textwriter-is
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- kubernetes 自定义控制器的高可用
- WordPress 4.9 Beta 3 改进自定义面板中的菜单可用性
- 构建生产环境可用的高可用kubernetes集群
- 维基百科 – Sparql查询获取dbpedia可用的所有可用电影
- 可用性高达5个9!支付系统高可用架构设计实战
- 浪潮InCloud OpenStack:度量可用性“三维”,实现高可用云环境
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。