【发布时间】:2011-12-27 04:24:43
【问题描述】:
我试图将字符串写入内存流, 但失败并显示错误消息:
Memory stream is not expandable.
产生此问题的代码行:
context.Response.Filter = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(myPage));
有人有解决方法/解决方法吗?
堆栈跟踪:
[NotSupportedException: Memory stream is not expandable.]
System.IO.MemoryStream.set_Capacity(Int32 value) +9385744
System.IO.MemoryStream.EnsureCapacity(Int32 value) +50
System.IO.MemoryStream.Write(Byte[] buffer, Int32 offset, Int32 count) +265
System.Web.HttpWriter.FilterIntegrated(Boolean finalFiltering, IIS7WorkerRequest wr) +9155697
System.Web.HttpResponse.FilterOutput() +159
System.Web.CallFilterExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +52
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
【问题讨论】:
-
什么是`mypage'直接是一个字符串?
-
你想做什么?从我在文档中得到的信息来看,
HttpResponse.Filter不应该这样使用。 -
@msarchet = 是的,它是一个字符串。
-
@EtiennedeMartel - 如果您尝试操纵响应,那就是要走的路。 msdn.microsoft.com/en-us/library/…
-
是的,但是如果您想将内容输出到响应中,为什么不直接调用
Write?你想在这里做什么?
标签: c# memorystream