.net core 修改Response.Body
时间: 2023-12-16 21:03:45 浏览: 196
在 .NET Core 中,可以通过使用 Response.Body 属性来修改 HTTP 响应的内容。以下是一个示例,演示如何将响应的正文替换为一个字符串:
```csharp
public async Task<IActionResult> MyAction()
{
var response = new HttpResponseMessage();
response.Content = new StringContent("Hello, world!");
var stream = await response.Content.ReadAsStreamAsync();
HttpContext.Response.StatusCode = (int)response.StatusCode;
HttpContext.Response.ContentType = response.Content.Headers.ContentType.ToString();
await stream.CopyToAsync(HttpContext.Response.Body);
}
```
此代码将响应正文设置为 "Hello, world!" 字符串,并将其写入到响应流中。然后,它将响应流复制到 HttpContext.Response.Body 中,以便将其发送回客户端。
请注意,HttpResponseMessage 是 .NET Framework 中的类型,可以使用 Microsoft.AspNet.WebApi.Core 包中的 System.Net.Http 命名空间来访问它。在 .NET Core 中,您可能需要使用不同的类或方法来创建响应对象。
阅读全文