gpt4 book ai didi

c# - 无法在 asp.net core 2.1 的中间件中写入 HttpContext 的响应主体

转载 作者:行者123 更新时间:2023-11-30 15:54:03 25 4
gpt4 key购买 nike

这是我们中间件的代码片段

public Task InvokeAsync(HttpContext context)
{
if(!found)
{
context.Response.StatusCode = StatusCodes.Status401Unauthorized;
return context.Response.WriteAsync("Something wrong");
}
return _next(context);
}

问题是,虽然客户端应用程序收到错误代码 401,这很好,但在响应正文中找不到“Something wrong”字符串。我们在这里缺少什么?

最佳答案

一个对我们有用的有趣解决方案:

声明如下:return context.Response.WriteAsync("Something wrong");

被这个取代了:

return context.Response.Body.WriteAsync("Something wrong").AsTask();

此更改使响应得到正确填充。虽然,我还不确定为什么这种响应人群的方式会起作用,而不是最初的方法。

关于c# - 无法在 asp.net core 2.1 的中间件中写入 HttpContext 的响应主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51368919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com