首页 > 解决方案 > 如何在 .NET Core 3.1.x 上写入 HttpContext.Response.Body

问题描述

我一直在尝试编写或设置 HttpContext.Response.Body 但无济于事。我发现的大多数示例都使用 Body.WriteAsync 但参数与示例不同。我尝试将我的字符串转换为字节 [],但文本没有显示在我的 Response.Body 上。

标签: asp.net-coreasp.net-core-webapihttpresponse

解决方案


试图编写或设置 HttpContext.Response.Body 但无济于事。

你可以参考下面的代码,对我来说效果很好。

public async Task<IActionResult> Test()
{

    //for testing purpose
    var bytes = Encoding.UTF8.GetBytes("Hello World");

    await HttpContext.Response.Body.WriteAsync(bytes, 0, bytes.Length);

    //...

此外,您可以调用HttpResponseWritingExtensions.WriteAsync方法将给定的文本写入响应正文。

public async Task<IActionResult> Test()
{
    //for testing purpose
    await Microsoft.AspNetCore.Http.HttpResponseWritingExtensions.WriteAsync(HttpContext.Response, "Hello World");

    //...

推荐阅读