你如何在C#/ ASP.NET中读取HttpResponse对象的主体内容?

时间:2017-01-17 20:51:05

标签: c# asp.net http

您如何阅读C#/ ASP.net中HttpResponse对象的内容?

我需要能够将主体内容作为JSON对象读取,修改它,然后将其写回响应输出流。我想确保我不会丢失已经在流中的内容,因此我需要首先阅读它。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您可以使用委派处理程序

Bundle data = getIntent().getExtras();
Word word = (Word) data.getParcelable("myWord");

在WebApiConfig

注册您的处理程序
public class ContentHandler : DelegatingHandler
{
    protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    {
        return base.SendAsync(request, cancellationToken).ContinueWith<HttpResponseMessage>((responseToCompleteTask) =>
        {
            HttpResponseMessage response = responseToCompleteTask.Result;
            var YourContent = response.Content.ReadAsStreamAsync().Result;
            response.Content = new CompressedContent(response.Content, acceptedEncoding);
            return response;
        },
        TaskContinuationOptions.OnlyOnRanToCompletion);
    }
}

您可以通过扩展HttpContent类来编辑您的响应内容。 例如,压缩内容

GlobalConfiguration.Configuration.MessageHandlers.Add(new ContentHandler());