首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# -将responseStream写到context.response.outputstream

C# -将responseStream写到context.response.outputstream
EN

Stack Overflow用户
提问于 2016-08-22 09:08:58
回答 1查看 3K关注 0票数 3

我们的ASP.net应用程序需要将一些请求转发到另一台服务器,获取数据并提供服务。我们可以将数据下载到文件中并提供服务,也可以直接从原始服务器向客户端提供响应流。数据包括js/css/图像/字体文件/mp3等。

代码语言:javascript
复制
HttpWebRequest forwardRequest = (HttpWebRequest)WebRequest.Create(remoteUrl);

                forwardRequest.ContentType = context.Request.ContentType;
                forwardRequest.UserAgent = context.Request.UserAgent;
                forwardRequest.Method = context.Request.HttpMethod;

                //add post check

                HttpWebResponse newResponse = (HttpWebResponse)forwardRequest.GetResponse();

                MemoryStream ms = new MemoryStream();
                newResponse.GetResponseStream().CopyTo(ms);

                context.Response.ContentType = newResponse.ContentType;
                context.Response.StatusCode = 200;
                context.Response.BinaryWrite(ms.GetBuffer());
                ms.Close();

                context.Response.Flush();
                context.Response.Close();
                context.Response.End();

如何将newResponse.GetResponseStream()直接传递给context.Response.OutputStream

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-22 09:13:33

您不能直接传递流,但可以方便地将其中一个写入另一个流(这将在内部创建一个读/写循环):

代码语言:javascript
复制
sourceStream.CopyTo(destinationStream);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39075438

复制
相关文章

相似问题

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