You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
By [Tom Dykstra](https://github.com/tdykstra), [Chris Ross](https://github.com/Tratcher), and [Stephen Halter](https://twitter.com/halter73)
16
16
17
-
:::moniker range=">= aspnetcore-8.0"
17
+
:::moniker range=">= aspnetcore-10.0"
18
18
19
19
Kestrel is a cross-platform [web server for ASP.NET Core](xref:fundamentals/servers/index). Kestrel is the recommended server for ASP.NET Core, and it's configured by default in ASP.NET Core project templates.
20
20
@@ -63,4 +63,52 @@ For more information on configuring `WebApplication` and `WebApplicationBuilder`
Kestrel is a cross-platform [web server for ASP.NET Core](xref:fundamentals/servers/index). Kestrel is the recommended server for ASP.NET Core, and it's configured by default in ASP.NET Core project templates.
69
+
70
+
Kestrel's features include:
71
+
72
+
***Cross-platform:** Kestrel is a cross-platform web server that runs on Windows, Linux, and macOS.
73
+
***High performance:** Kestrel is optimized to handle a large number of concurrent connections efficiently.
74
+
***Lightweight:** Optimized for running in resource-constrained environments, such as containers and edge devices.
75
+
***Security hardened:** Kestrel supports HTTPS and is hardened against web server vulnerabilities.
76
+
***Wide protocol support:** Kestrel supports common web protocols, including:
77
+
* HTTP/1.1, [HTTP/2](xref:fundamentals/servers/kestrel/http2) and [HTTP/3](xref:fundamentals/servers/kestrel/http3)
78
+
*[WebSockets](xref:fundamentals/websockets)
79
+
***Integration with ASP.NET Core:** Seamless integration with other ASP.NET Core components, such as the middleware pipeline, dependency injection, and configuration system.
80
+
***Flexible workloads**: Kestrel supports many workloads:
81
+
* ASP.NET app frameworks such as Minimal APIs, MVC, Razor pages, SignalR, Blazor, and gRPC.
82
+
* Building a reverse proxy with [YARP](https://github.com/microsoft/reverse-proxy).
83
+
***Extensibility:** Customize Kestrel through configuration, middleware, and custom transports.
84
+
***Performance diagnostics:** Kestrel provides built-in performance diagnostics features, such as logging and metrics.
85
+
86
+
## Get started
87
+
88
+
ASP.NET Core project templates use Kestrel by default when not hosted with IIS. In the following template-generated `Program.cs`, the <xref:Microsoft.AspNetCore.Builder.WebApplication.CreateBuilder%2A?displayProperty=nameWithType> method calls <xref:Microsoft.AspNetCore.Hosting.WebHostBuilderKestrelExtensions.UseKestrel%2A> internally:
*[RFC 9110: HTTP Semantics (Section 7.2: Host and :authority)](https://www.rfc-editor.org/rfc/rfc9110#field.host)
110
+
* When using UNIX sockets on Linux, the socket isn't automatically deleted on app shutdown. For more information, see [this GitHub issue](https://github.com/dotnet/aspnetcore/issues/14134).
@@ -30,7 +30,7 @@ For information about metrics and how to use them, see <xref:log-mon/metrics/met
30
30
31
31
## Manage memory pools
32
32
33
-
Besides using memory pools efficiently by evicting unneeded memory blocks, ASP.NET Core provides a built-in [IMemoryPoolFactory](https://source.dot.net/#Microsoft.AspNetCore.Connections.Abstractions/IMemoryPoolFactory.cs) and an implementation. ASP.NET Core makes this implementation available to your application through dependency injection.
33
+
Besides using memory pools efficiently by evicting unneeded memory blocks, ASP.NET Core provides a built-in [IMemoryPoolFactory](https://source.dot.net/#Microsoft.AspNetCore.Connections.Abstractions/IMemoryPoolFactory.cs)interface and its default implementation, which are available through dependency injection.
34
34
35
35
The following code example shows a simple background service that uses the built-in memory pool factory implementation to create memory pools. These pools benefit from the automatic eviction feature:
0 commit comments