从middlware在ASP.NET Core中设置HttpResponse的原因

Kie*_*ron 6 http .net-core asp.net-core

如何从某些中间件在ASP.NET Core中的HTTP响应中设置原因短语?

在以前的版本(完整框架)中,我将执行以下操作:

context.Response.StatusCode = 401;
context.Response.ReasonPhrase = "Missing or invalid token.";
Run Code Online (Sandbox Code Playgroud)

在ASP.NET Core中,唯一可用的属性是StatusCode.

以下是在响应中设置自定义原因的Fiddler捕获示例.

从ASP.NET WebAPI发送的原因示例(完整框架)

Dar*_*rov 19

试试这个:

context.Response.StatusCode = 401;
context.Response.HttpContext.Features.Get<IHttpResponseFeature>().ReasonPhrase = "Missing or invalid token.";
Run Code Online (Sandbox Code Playgroud)

  • 请注意,HTTP/2没有原因短语,因此您依赖于部署时可能无法使用的内容. (6认同)