Reputation: 1972
I am wanting to use something like HttpServerUtility.Execute
to execute an IHttpHandler
and write the handler response to a MemoryStream
that can then be parsed into an http response (functionally, I want access to the headers and the content returned).
Currently the HttpServerUtility.Execute
method has a parameter for a TextWriter
object (can be a StringWriter
object) but this only caters for requests that return a text/string body, also I cannot read the content-type header of the response (say for a text/css response). If say I had a handler that I wanted to execute that outputs an image the StringWriter
would not work as this deals with binary data.
Basically I want to execute one IHttpHandler
(could be a System.Web.UI.Page
) inside another IHttpHandler
and store the response in a MemoryStream
.
Any assistance with this would be appreciated.
Thanks.
Upvotes: 3
Views: 465
Reputation: 3101
Maybe you can invoke the ProcessRequest method on the IHttpHandler object directly and pass it your own http context with your own response object. I'm not sure but I think the BinaryWrite method of the http response uses the output stream of the TextWriter object that is passed into it's constructor. So if you have a memory stream set in the TextWriter then you could use it as your output.
So:
Upvotes: 2