Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions aspnetcore/migration/80-90.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 <xref:Microsoft.AspNetCore.Builder.StaticAssetsEndpointRouteBuilderExtensions.MapStaticAssets%2A> 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 <xref:Microsoft.AspNetCore.Components.ComponentBase.Assets?displayProperty=nameWithType> 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`):
Expand All @@ -94,7 +92,7 @@ To resolve the fingerprinted file names from your app:
<link rel="stylesheet" href="@Assets["app.css"]" />
<link rel="stylesheet" href="@Assets["BlazorSample.styles.css"]" />
```

* 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):
Expand Down
10 changes: 6 additions & 4 deletions aspnetcore/release-notes/aspnetcore-9.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

<!-- New content should be added to ~/aspnetcore-9/includes/newFeatureName.md files. This will help prevent merge conflicts in this file. -->
[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 <xref:blazor/fundamentals/static-files?view=aspnetcore-9.0>.

[!INCLUDE[](~/release-notes/aspnetcore-9/includes/web_asset_delivery.md)]

## Blazor

Expand Down Expand Up @@ -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)]
Expand Down
15 changes: 3 additions & 12 deletions aspnetcore/release-notes/aspnetcore-9/includes/blazor.md
Original file line number Diff line number Diff line change
@@ -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:

Expand Down Expand Up @@ -28,20 +28,11 @@ The template is also available in Visual Studio.

For more information, see <xref:blazor/hybrid/tutorials/maui-blazor-web-app?view=aspnetcore-9.0>.

### Static asset delivery optimization

Map Static Assets routing endpoint conventions (<xref:Microsoft.AspNetCore.Builder.StaticAssetsEndpointRouteBuilderExtensions.MapStaticAssets%2A>) 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.
* <xref:blazor/fundamentals/static-files?view=aspnetcore-9.0>.

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

Expand Down Expand Up @@ -232,6 +223,6 @@ The <xref:Microsoft.AspNetCore.Components.Forms.InputNumber%601> component now s

<!-- UPDATE 10.0 Confirm or update -->

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).
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
Loading