ASP NET Core Minimal API 始终返回 200 而不是指定的 204

Sve*_*ter 7 c# asp.net-core asp.net-core-6.0 .net-6.0

即使我说 return 204 (NoContent),它也会返回 200。为什么?

app.MapGet("/api/alive", (context) => Task.FromResult(new StatusCodeResult(204)));
Run Code Online (Sandbox Code Playgroud)

浏览器中的状态码为200

Sve*_*ter 10

解决方案是稍微更改一下签名:

app.MapGet("/api/alive", () => Results.NoContent());
Run Code Online (Sandbox Code Playgroud)

(context) 单独不起作用,编辑:以及 (RequestDelegate context) 不起作用。

app.MapGet("/api/alive", (context) => Results.NoContent());
app.MapGet("/api/alive", (RequestDelegate context) => Results.NoContent());
Run Code Online (Sandbox Code Playgroud)