首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对MemoryStream执行IHttpHandler

对MemoryStream执行IHttpHandler
EN

Stack Overflow用户
提问于 2013-06-29 16:45:54
回答 1查看 373关注 0票数 3

我想使用像HttpServerUtility.Execute这样的东西来执行IHttpHandler,并将处理程序响应写入MemoryStream,然后可以将其解析为http响应(从功能上讲,我希望访问报头和返回的内容)。

目前,HttpServerUtility.Execute方法有一个用于TextWriter对象(可以是StringWriter对象)的参数,但这只适用于返回文本/字符串体的请求,而且我不能读取响应的内容类型标头(例如,对于文本/css响应)。假设我有一个想要执行的处理程序来输出图像,那么StringWriter将无法工作,因为它处理的是二进制数据。

基本上,我希望在另一个IHttpHandler中执行一个IHttpHandler (可以是一个System.Web.UI.Page),并将响应存储在MemoryStream中。

任何与此相关的帮助都将不胜感激。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-08 19:26:29

也许您可以直接调用IHttpHandler对象上的ProcessRequest方法,并通过您自己的响应对象传递您自己的http上下文。我不确定,但我认为http响应的BinaryWrite方法使用了传入其构造函数的TextWriter对象的输出流。因此,如果您在TextWriter中设置了内存流,则可以将其用作输出。

所以:

调用MemoryStream

  • Create并将内存流传递到constructor

  • Create中,然后向其传递已创建的StreamWriter

  • Create、具有已创建的HttpResponse的StreamWriter和已创建的或当前的http请求

  • StreamWriter HttpResponse
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17378391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档