diff --git a/aspnetcore/migration/80-90.md b/aspnetcore/migration/80-90.md index 39cac8ed925d..56b87e261a6f 100644 --- a/aspnetcore/migration/80-90.md +++ b/aspnetcore/migration/80-90.md @@ -83,8 +83,6 @@ In MVC & Razor Pages apps you additionally need to chain a call to `.WithStaticA ASP.NET Core automatically fingerprints and precompresses your static files at build and publish time, and then surfaces the optimized files as endpoints using endpoint routing with appropriate caching headers. - - To resolve the fingerprinted file names from your app: * In Blazor apps, use the property. Update explicit references to static assets in Razor component files (`.razor`) to use `@Assets["{ASSET PATH}"]`, where the `{ASSET PATH}` placeholder is the path to the asset. Note that this should ***NOT*** be done for the Blazor framework scripts (`blazor.*.js`). In the following example, Bootstrap, the Blazor project template app stylesheet (`app.css`), and the [CSS isolation stylesheet](xref:blazor/components/css-isolation) (based on an app's namespace of `BlazorSample`) are linked in a root component, typically the `App` component (`Components/App.razor`): @@ -94,7 +92,7 @@ To resolve the fingerprinted file names from your app: ``` - + * In MVC & Razor Pages apps, the script and link tag helpers will automatically resolve the fingerprinted file names. To resolve the fingerprinted file names when importing JavaScript modules, add a generated [import map](https://developer.mozilla.org/docs/Web/HTML/Element/script/type/importmap): diff --git a/aspnetcore/release-notes/aspnetcore-9.0.md b/aspnetcore/release-notes/aspnetcore-9.0.md index db22f8b3a893..1d692c14b610 100644 --- a/aspnetcore/release-notes/aspnetcore-9.0.md +++ b/aspnetcore/release-notes/aspnetcore-9.0.md @@ -11,9 +11,13 @@ uid: aspnetcore-9 This article highlights the most significant changes in ASP.NET Core 9.0 with links to relevant documentation. -This article has been updated for .NET 9 Release Candidate 2. +## Static asset delivery optimization - +[MapStaticAssets routing endpoint conventions](xref:Microsoft.AspNetCore.Builder.StaticAssetsEndpointRouteBuilderExtensions.MapStaticAssets%2A) is a new feature that optimizes the delivery of static assets in ASP.NET Core apps. + +For information on static asset delivery for Blazor apps, see . + +[!INCLUDE[](~/release-notes/aspnetcore-9/includes/web_asset_delivery.md)] ## Blazor @@ -69,8 +73,6 @@ The following sections describe miscellaneous new features. [!INCLUDE[](~/release-notes/aspnetcore-9/includes/fix-for-503s.md)] -[!INCLUDE[](~/release-notes/aspnetcore-9/includes/web_asset_delivery.md)] - [!INCLUDE[](~/release-notes/aspnetcore-9/includes/asp0026.md)] [!INCLUDE[](~/release-notes/aspnetcore-9/includes/improved-kestrel-connection-metrics.md)] diff --git a/aspnetcore/release-notes/aspnetcore-9/includes/blazor.md b/aspnetcore/release-notes/aspnetcore-9/includes/blazor.md index 20c40985fa98..918ba131005c 100644 --- a/aspnetcore/release-notes/aspnetcore-9/includes/blazor.md +++ b/aspnetcore/release-notes/aspnetcore-9/includes/blazor.md @@ -1,6 +1,6 @@ ### .NET MAUI Blazor Hybrid and Web App solution template -A new solution template makes it easier to create .NET MAUI native and Blazor web client apps that share the same UI. This template shows how to create client apps that maximize code reuse and target Android, iOS, Mac, Windows, and Web. +A new solution template makes it easier to create .NET MAUI native and Blazor web client apps that share the same UI. This template shows how to create client apps that maximize code reuse and target Android, iOS, Mac, Windows, and Web. Key features of this template include: @@ -28,20 +28,11 @@ The template is also available in Visual Studio. For more information, see . -### Static asset delivery optimization - -Map Static Assets routing endpoint conventions () is a new feature that helps optimize the delivery of static assets in any ASP.NET Core app, including Blazor apps. - -For more information, see the following resources: - -* The [Optimize static web asset delivery](#optimize-static-web-asset-delivery) section of this article. -* . - ### Detect rendering location, interactivity, and assigned render mode at runtime We've introduced a new API designed to simplify the process of querying component states at runtime. This API provides the following capabilities: -* **Determine the current execution location of the component**: This can be particularly useful for debugging and optimizing component performance. +* **Determine the current execution location of the component**: This can be useful for debugging and optimizing component performance. * **Check if the component is running in an interactive environment**: This can be helpful for components that have different behaviors based on the interactivity of their environment. * **Retrieve the assigned render mode for the component**: Understanding the render mode can help in optimizing the rendering process and improving the overall performance of a component. @@ -232,6 +223,6 @@ The component now s -Support for multiple Blazor Web Apps per server project will be considered for .NET 10 (November, 2025). +Support for multiple Blazor Web Apps per server project is under consideration for .NET 10 in late 2025. For more information, see [Support for multiple Blazor Web apps per server project (`dotnet/aspnetcore` #52216)](https://github.com/dotnet/aspnetcore/issues/52216). diff --git a/aspnetcore/release-notes/aspnetcore-9/includes/web_asset_delivery.md b/aspnetcore/release-notes/aspnetcore-9/includes/web_asset_delivery.md index 25fd8dc78b36..8254f0dcc07c 100644 --- a/aspnetcore/release-notes/aspnetcore-9/includes/web_asset_delivery.md +++ b/aspnetcore/release-notes/aspnetcore-9/includes/web_asset_delivery.md @@ -1,5 +1,3 @@ -### Optimize static web asset delivery - Following production best practices for serving static assets requires a significant amount of work and technical expertise. Without optimizations like compression, caching, and [fingerprints](https://en.wikipedia.org/wiki/Fingerprint_(computing)): * The browser has to make additional requests on every page load.