Other 1xx codes
All HTTP status codes in ASP.NET Core
1xx Informational
An interim response: the server has received the request headers and the client should send the body. Clients ask for it with Expect: 100-continue before uploading something large.
In ASP.NET Core: You never return it yourself. Kestrel sends it automatically when your code starts reading the request body.
The StatusCodes constant, HttpStatusCode enum name, reason phrase, class, and how EnsureSuccessStatusCode() and the standard resilience handler treat 100.
| Constant | StatusCodes.Status100Continue |
|---|---|
| HttpStatusCode | HttpStatusCode.Continue |
| Reason phrase | Kestrel sends Continue |
| Class | 1xx, informational |
| IsSuccessStatusCode | false |
| EnsureSuccessStatusCode() | throws HttpRequestException: Response status code does not indicate success: 100 (Continue). |
| Standard resilience handler | does not retry it |
You never return it yourself. Kestrel sends it automatically when your code starts reading the request body.
Setup
app.MapPost("/upload", async (HttpRequest req) =>
{
await req.Body.CopyToAsync(Stream.Null);
return "ok";
});Request
POST /upload HTTP/1.1
Content-Length: 4
Expect: 100-continue
(body not sent yet)Response (recorded)
HTTP/1.1 100 ContinueKestrel answers 100 Continue as soon as the endpoint starts reading the body, so the client knows it may send it. Code that never reads the body never triggers it.
Every response on this page was recorded from ASP.NET Core 10.0.12 on Kestrel in the Production environment; the HttpClient rows come from .NET 10.0.12 and Microsoft.Extensions.Http.Resilience 10.10.0.
All HTTP status codes in ASP.NET Core