Skip to content

Commit 6cd46fc

Browse files
Copilottdykstra
andcommitted
Address code review feedback and fix moniker ranges
Co-authored-by: tdykstra <[email protected]>
1 parent 6a4b393 commit 6cd46fc

File tree

2 files changed

+52
-4
lines changed

2 files changed

+52
-4
lines changed

aspnetcore/fundamentals/servers/kestrel.md

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ uid: fundamentals/servers/kestrel
1414

1515
By [Tom Dykstra](https://github.com/tdykstra), [Chris Ross](https://github.com/Tratcher), and [Stephen Halter](https://twitter.com/halter73)
1616

17-
:::moniker range=">= aspnetcore-8.0"
17+
:::moniker range=">= aspnetcore-10.0"
1818

1919
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.
2020

@@ -63,4 +63,52 @@ For more information on configuring `WebApplication` and `WebApplicationBuilder`
6363

6464
:::moniker-end
6565

66+
:::moniker range=">= aspnetcore-8.0 < aspnetcore-10.0"
67+
68+
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:
89+
90+
:::code language="csharp" source="~/fundamentals/servers/kestrel/samples/6.x/KestrelSample/Program.cs" id="snippet_CreateBuilder" highlight="1":::
91+
92+
For more information on configuring `WebApplication` and `WebApplicationBuilder`, see <xref:fundamentals/minimal-apis>.
93+
94+
## Additional resources
95+
96+
<a name="endpoint-configuration"></a>
97+
* <xref:fundamentals/servers/kestrel/endpoints>
98+
<a name="kestrel-options"></a>
99+
* <xref:fundamentals/servers/kestrel/options>
100+
<a name="http2-support"></a>
101+
* <xref:fundamentals/servers/kestrel/http2>
102+
<a name="when-to-use-kestrel-with-a-reverse-proxy"></a>
103+
* <xref:fundamentals/servers/kestrel/when-to-use-a-reverse-proxy>
104+
<a name="host-filtering"></a>
105+
* <xref:fundamentals/servers/kestrel/host-filtering>
106+
* <xref:test/troubleshoot>
107+
* <xref:security/enforcing-ssl>
108+
* <xref:host-and-deploy/proxy-load-balancer>
109+
* [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).
111+
112+
:::moniker-end
113+
66114
[!INCLUDE[](~/fundamentals/servers/kestrel/includes/kestrel6.md)]

aspnetcore/fundamentals/servers/kestrel/memory-management.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
title: Memory management in Kestrel
33
author: tdykstra
44
description: Learn about memory management in Kestrel, including automatic eviction from memory pools and using memory pool metrics.
5-
monikerRange: '>= aspnetcore-8.0'
5+
monikerRange: '>= aspnetcore-10.0'
66
ms.author: tdykstra
7-
ms.date: 12/04/2024
7+
ms.date: 12/04/2025
88
uid: fundamentals/servers/kestrel/memory-management
99
---
1010

@@ -30,7 +30,7 @@ For information about metrics and how to use them, see <xref:log-mon/metrics/met
3030

3131
## Manage memory pools
3232

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.
3434

3535
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:
3636

0 commit comments

Comments
 (0)