如何在.NET Core 3.1.x上写入HttpContext.Response.Body



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

试图编写或设置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");
//...

也许这不是实际的,但正如前面提到的,您可以使用Microsoft.AspNetCore.Http命名空间中的扩展方法。

public static Task WriteAsync(this HttpResponse response, string text, CancellationToken cancellationToken = default);

所以你的代码看起来像(这是一个更简单的语法(:

HttpContext.Response.WriteAsync(defaultUnauthorizedResponseHtml);

相关内容

  • 没有找到相关文章

最新更新