diff --git a/aspnetcore/fundamentals/servers/yarp/extensibility.md b/aspnetcore/fundamentals/servers/yarp/extensibility.md index 8bbb34592540..b0d4143d2536 100644 --- a/aspnetcore/fundamentals/servers/yarp/extensibility.md +++ b/aspnetcore/fundamentals/servers/yarp/extensibility.md @@ -21,17 +21,25 @@ There are 2 main styles of extensibility for YARP, depending on the routing beha YARP uses the concept of [Routes](xref:fundamentals/servers/yarp/config-files#routes), [Clusters](xref:fundamentals/servers/yarp/config-files#clusters) and Destinations. These can be supplied through [configuration files](xref:fundamentals/servers/yarp/config-files) or [directly through code](xref:fundamentals/servers/yarp/config-providers). Based on the routing rules, YARP picks a cluster and enumerates the possible destinations. It then uses the middleware pipeline to select the destination based on destination health, session affinity, load balancing etc. -![Middleware pipeline diagram](https://github.com/user-attachments/assets/ff17a04f-0c3c-46c7-8ec2-a1ed3dbc948c) +![Middleware pipeline diagram](~/fundamentals/servers/yarp/media/yarp-pipeline.png) -Most of the pre-built pipeline modules can be customized through code. You can also change the pipeline definition to replace modules with your own implementation(s) or add additional modules as needed. +Most of the pre-built pipeline can be customized through code: -For more information see [Middleware](xref:fundamentals/servers/yarp/middleware). +- [Configuration Providers](xref:fundamentals/servers/yarp/config-providers) +- [Destination Enumeration](xref:fundamentals/servers/yarp/destination-resolvers) +- [Session Affinity](xref:fundamentals/servers/yarp/session-affinity) +- [Load Balancing](xref:fundamentals/servers/yarp/load-balancing) +- [Health Checks](xref:fundamentals/servers/yarp/dests-health-checks) +- [Request Transforms](xref:fundamentals/servers/yarp/transform-extensibility) +- [HttpClient configuration](./http-client-config.md#code-configuration) + +You can also change the pipeline definition to replace modules with your own implementation(s) or add additional modules as needed. For more information see [Middleware](xref:fundamentals/servers/yarp/middleware). ## Http Forwarder If the YARP pipeline is too rigid for your needs, or the scale of routing rules and destinations is not suitable for loading into memory, then you can implement your own routing logic and use the HTTP Forwarder to direct requests to your chosen destination. The HttpForwarder component takes the HTTP context and forwards the request to the supplied destination. -![HTTP forwarder diagram](https://github.com/user-attachments/assets/1a060a7e-fa43-49a4-bfad-f95d7d35be63) +![HTTP forwarder diagram](~/fundamentals/servers/yarp/media/yarp-forwarder.png) The transform component can still be used with the forwarder is needed. diff --git a/aspnetcore/fundamentals/servers/yarp/media/yarp-forwarder.png b/aspnetcore/fundamentals/servers/yarp/media/yarp-forwarder.png new file mode 100644 index 000000000000..faba55564a1b Binary files /dev/null and b/aspnetcore/fundamentals/servers/yarp/media/yarp-forwarder.png differ diff --git a/aspnetcore/fundamentals/servers/yarp/media/yarp-pipeline.png b/aspnetcore/fundamentals/servers/yarp/media/yarp-pipeline.png new file mode 100644 index 000000000000..f1f156ed1061 Binary files /dev/null and b/aspnetcore/fundamentals/servers/yarp/media/yarp-pipeline.png differ diff --git a/aspnetcore/migration/inc/samples/wrapped/Program.cs b/aspnetcore/migration/inc/samples/wrapped/Program.cs index 819c9deadcf7..3dad9c236f45 100644 --- a/aspnetcore/migration/inc/samples/wrapped/Program.cs +++ b/aspnetcore/migration/inc/samples/wrapped/Program.cs @@ -8,7 +8,7 @@ options.RegisterKey("test-value"); options.RegisterKey("SampleSessionItem"); }) - .WrapAspNetCoreSession(); + .AddWrappedAspNetCoreSession(); // var app = builder.Build(); diff --git a/aspnetcore/release-notes/aspnetcore-10/includes/blazor.md b/aspnetcore/release-notes/aspnetcore-10/includes/blazor.md index 789a8b787f40..973820914614 100644 --- a/aspnetcore/release-notes/aspnetcore-10/includes/blazor.md +++ b/aspnetcore/release-notes/aspnetcore-10/includes/blazor.md @@ -29,3 +29,11 @@ For more information, see the following resources: The [`[Route]` attribute](xref:Microsoft.AspNetCore.Components.RouteAttribute) now supports route syntax highlighting to help visualize the structure of the route template: ![Route template pattern for the Order ID is highlighted in a method that maps endpoints](~/release-notes/aspnetcore-10/_static/route-template-highlighting.png) + + diff --git a/aspnetcore/tutorials/first-mvc-app/adding-model.md b/aspnetcore/tutorials/first-mvc-app/adding-model.md index 8dd17f7f3826..7f92cba91bcb 100644 --- a/aspnetcore/tutorials/first-mvc-app/adding-model.md +++ b/aspnetcore/tutorials/first-mvc-app/adding-model.md @@ -4,7 +4,7 @@ author: wadepickett description: Part 4 of tutorial series on ASP.NET Core MVC. monikerRange: '>= aspnetcore-3.1' ms.author: wpickett -ms.date: 07/24/2024 +ms.date: 2/20/2025 uid: tutorials/first-mvc-app/adding-model --- @@ -61,6 +61,8 @@ Build the project as a check for compiler errors. # [Visual Studio Code](#tab/visual-studio-code) +Open a command window in the project directory. The project directory is the directory that contains the `Program.cs` and `.csproj` files. + [!INCLUDE[](~/includes/add-EF-NuGet-SQLite-CLI-9.md)] In Visual Studio Code, press Ctrl+F5 to run the app without debugging.