为什么我会根据表达式顺序获得不同的状态代码?
Why do I get different status code depending on expressions order?
我正在使用 ASP.NET Core 3。这是我端点的简单代码:
await context.Response.WriteAsync("Not Found");
context.Response.StatusCode = StatusCodes.Status404NotFound;
我希望得到 400
状态码,但我得到了 200
。但是,如果我更改代码字符串顺序:
context.Response.StatusCode = StatusCodes.Status404NotFound;
await context.Response.WriteAsync("Not Found");
然后我得到 404
状态代码。为什么状态码值取决于表达式的顺序?
WriteAsync
方法实际上发出了响应,因此在第一个示例中,您使用默认状态代码(即 200)发送响应,然后修改响应变量的状态代码,即然后不再使用
我正在使用 ASP.NET Core 3。这是我端点的简单代码:
await context.Response.WriteAsync("Not Found");
context.Response.StatusCode = StatusCodes.Status404NotFound;
我希望得到 400
状态码,但我得到了 200
。但是,如果我更改代码字符串顺序:
context.Response.StatusCode = StatusCodes.Status404NotFound;
await context.Response.WriteAsync("Not Found");
然后我得到 404
状态代码。为什么状态码值取决于表达式的顺序?
WriteAsync
方法实际上发出了响应,因此在第一个示例中,您使用默认状态代码(即 200)发送响应,然后修改响应变量的状态代码,即然后不再使用