我想使用像HttpServerUtility.Execute这样的东西来执行IHttpHandler,并将处理程序响应写入MemoryStream,然后可以将其解析为http响应(从功能上讲,我希望访问报头和返回的内容)。
目前,HttpServerUtility.Execute方法有一个用于TextWriter对象(可以是StringWriter对象)的参数,但这只适用于返回文本/字符串体的请求,而且我不能读取响应的内容类型标头(例如,对于文本/css响应)。假设我有一个想要执行的处理程序来输出图像,那么StringWriter将无法工作,因为它处理的是二进制数据。
基本上,我希望在另一个IHttpHandler中执行一个IHttpHandler (可以是一个System.Web.UI.Page),并将响应存储在MemoryStream中。
任何与此相关的帮助都将不胜感激。
谢谢。
发布于 2013-07-08 19:26:29
也许您可以直接调用IHttpHandler对象上的ProcessRequest方法,并通过您自己的响应对象传递您自己的http上下文。我不确定,但我认为http响应的BinaryWrite方法使用了传入其构造函数的TextWriter对象的输出流。因此,如果您在TextWriter中设置了内存流,则可以将其用作输出。
所以:
调用MemoryStream
https://stackoverflow.com/questions/17378391
复制相似问题