i was trying to write a string to a memory stream,
but failed with the error message:
Memory stream is not expandable.
the line of code that produces this problem:
context.Response.Filter = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(myPage));
anyone have a workaround/fix for that?
stacktrace:
[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
The following code works correctly for me
It seems that the correct way to do this is to create the
MemoryStreamusing the default constructorand then write to it
if you want to be able to read the stream as normal (eg using a StreamReader) then you will also need to call: