From 556cb152b10a5de689b76a2ba3ed849a47924094 Mon Sep 17 00:00:00 2001 From: guardrex <1622880+guardrex@users.noreply.github.com> Date: Tue, 15 Apr 2025 05:15:43 -0400 Subject: [PATCH 1/2] Hosted Blazor WebAssembly and other updates --- aspnetcore/blazor/hosting-models.md | 8 ++++---- .../hybrid/security/security-considerations.md | 2 +- aspnetcore/blazor/tooling.md | 17 +++++++++-------- aspnetcore/release-notes/aspnetcore-8.0.md | 2 +- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/aspnetcore/blazor/hosting-models.md b/aspnetcore/blazor/hosting-models.md index ab0408face71..197ad75fdfd5 100644 --- a/aspnetcore/blazor/hosting-models.md +++ b/aspnetcore/blazor/hosting-models.md @@ -87,7 +87,7 @@ The Blazor WebAssembly hosting model runs components client-side in the browser :::moniker range=">= aspnetcore-8.0" -Blazor web apps can use the Blazor WebAssembly hosting model to enable client-side interactivity. When an app is created that exclusively runs on the Blazor WebAssembly hosting model without server-side rendering and interactivity, the app is called a *standalone* Blazor WebAssembly app. +Blazor Web Apps can use the Blazor WebAssembly hosting model to enable client-side interactivity. When an app is created that exclusively runs on the Blazor WebAssembly hosting model without server-side rendering and interactivity, the app is called a *standalone* Blazor WebAssembly app. :::moniker-end @@ -95,10 +95,10 @@ Blazor web apps can use the Blazor WebAssembly hosting model to enable client-si When the Blazor WebAssembly app is created for deployment without a backend ASP.NET Core app to serve its files, the app is called a *standalone* Blazor WebAssembly app. -:::moniker-end - When a standalone Blazor WebAssembly app uses a backend ASP.NET Core app to serve its files, the app is called a *hosted* Blazor WebAssembly app. Using hosted Blazor WebAssembly, you get a full-stack web development experience with .NET, including the ability to share code between the client and server apps, support for prerendering, and integration with MVC and Razor Pages. A hosted client app can interact with its backend server app over the network using a variety of messaging frameworks and protocols, such as [web API](xref:web-api/index), [gRPC-web](xref:grpc/index), and [SignalR](xref:signalr/introduction) (). +:::moniker-end + :::moniker range=">= aspnetcore-6.0" A Blazor WebAssembly app built as a [Progressive Web App (PWA)](xref:blazor/progressive-web-app) uses modern browser APIs to enable many of the capabilities of a native client app, such as working offline, running in its own app window, launching from the host's operating system, receiving push notifications, and automatically updating in the background. @@ -420,7 +420,7 @@ Blazor Hybrid apps have full access to native client API capabilities via .NET n ### Web-based deployment -Blazor web apps are updated on the next app refresh from the browser. +Blazor Web Apps are updated on the next app refresh from the browser. :::moniker range=">= aspnetcore-6.0" diff --git a/aspnetcore/blazor/hybrid/security/security-considerations.md b/aspnetcore/blazor/hybrid/security/security-considerations.md index ab3367c7f1b3..ab297491c906 100644 --- a/aspnetcore/blazor/hybrid/security/security-considerations.md +++ b/aspnetcore/blazor/hybrid/security/security-considerations.md @@ -88,7 +88,7 @@ iOS and :::no-loc text="Mac Catalyst"::: both use [`WKWebView`](https://develope ### Windows (.NET MAUI, WPF, Windows Forms) -On Windows, the Chromium-based [Microsoft Edge `WebView2`](/microsoft-edge/webview2/) is required to run Blazor web apps. +On Windows, the Chromium-based [Microsoft Edge `WebView2`](/microsoft-edge/webview2/) is required to run Blazor Web Apps. The newest installed version of `WebView2`, known as the *:::no-loc text="Evergreen distribution":::*, is used. If you wish to ship a specific version of `WebView2` with the app, use the *:::no-loc text="Fixed Version distribution":::*. diff --git a/aspnetcore/blazor/tooling.md b/aspnetcore/blazor/tooling.md index 38c70ad98ae9..53740e9cdf1b 100644 --- a/aspnetcore/blazor/tooling.md +++ b/aspnetcore/blazor/tooling.md @@ -31,7 +31,7 @@ To create a Blazor app with Visual Studio, use the following guidance: * Create a new project using one of the available Blazor templates: - * **Blazor Web App**: Creates a Blazor web app that supports interactive server-side rendering (interactive SSR) and client-side rendering (CSR). The Blazor Web App template is recommended for getting started with Blazor to learn about server-side and client-side Blazor features. + * **Blazor Web App**: Creates an app that supports interactive server-side rendering (interactive SSR) and client-side rendering (CSR). The Blazor Web App template is recommended for getting started with Blazor to learn about server-side and client-side Blazor features. * **Blazor WebAssembly Standalone App**: Creates a standalone client web app that can be deployed as a static site. Select **Next**. @@ -62,13 +62,6 @@ Select **Next**. * For more information on the options in the **Additional information** dialog, see the [Blazor project templates and template options](#blazor-project-templates-and-template-options) section. -:::moniker range=">= aspnetcore-8.0" - - > [!NOTE] - > The Hosted Blazor WebAssembly project template isn't available in ASP.NET Core 8.0 or later. To create a hosted Blazor WebAssembly app, a **Framework** option earlier than .NET 8.0 must be selected with the **ASP.NET Core Hosted** checkbox. - -:::moniker-end - :::moniker range="< aspnetcore-8.0" * For a *hosted* Blazor WebAssembly app, select the **ASP.NET Core Hosted** checkbox in the **Additional information** dialog. @@ -508,6 +501,14 @@ The Blazor framework provides project templates for creating new apps. The templ * Blazor Web App project template: `blazor` * Standalone Blazor WebAssembly app project template: `blazorwasm` +> [!NOTE] +> The "Hosted" Blazor WebAssembly project template option isn't available in ASP.NET Core 8.0 or later. To create a hosted Blazor WebAssembly app, a **Framework** option earlier than .NET 8.0 must be selected with the **ASP.NET Core Hosted** checkbox. However, we recommend a Blazor Web App for all new Blazor development in .NET 8 or later. For more information, see the following resources: +> +> * +> * +> * +> * + :::moniker-end :::moniker range=">= aspnetcore-7.0 < aspnetcore-8.0" diff --git a/aspnetcore/release-notes/aspnetcore-8.0.md b/aspnetcore/release-notes/aspnetcore-8.0.md index 73234209c6e7..d16db17cdc65 100644 --- a/aspnetcore/release-notes/aspnetcore-8.0.md +++ b/aspnetcore/release-notes/aspnetcore-8.0.md @@ -324,7 +324,7 @@ For more information, see -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 will be considered for a future .NET release. For more information, see [Support for multiple Blazor Web apps per server project (`dotnet/aspnetcore` #52216)](https://github.com/dotnet/aspnetcore/issues/52216). From 060c7501af791b991ecc13932a0902c8d9316844 Mon Sep 17 00:00:00 2001 From: guardrex <1622880+guardrex@users.noreply.github.com> Date: Tue, 15 Apr 2025 05:22:29 -0400 Subject: [PATCH 2/2] Updates --- aspnetcore/fundamentals/openapi/openapi-comments.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aspnetcore/fundamentals/openapi/openapi-comments.md b/aspnetcore/fundamentals/openapi/openapi-comments.md index 407d868ebc06..ae1cacd0cce8 100644 --- a/aspnetcore/fundamentals/openapi/openapi-comments.md +++ b/aspnetcore/fundamentals/openapi/openapi-comments.md @@ -13,7 +13,7 @@ uid: fundamentals/openapi/aspnet-openapi-xml ASP.NET Core XML documentation processing extracts code comments automatically to populate API documentation, ensuring the code and documentation remain synchronized. Metadata from XML documentation comments is included in the generated OpenAPI document without requiring changes to the app code, as long as the project is configured to generate the XML documentation file. XML documentation comments are automatically detected in the application assembly and referenced assemblies with XML documentation enabled. -ASP.NET Core processes [XML documentation tags](https://learn.microsoft.com/dotnet/csharp/language-reference/xmldoc/recommended-tags) like: ``, ``, ``, ``, ``, ``, ``, and ``. For XML documentation tags that use references to other elements, like ``, the implementation strips out the XML tag and maps the reference to plain text for inclusion in the OpenAPI document. +ASP.NET Core processes [XML documentation tags](/dotnet/csharp/language-reference/xmldoc/recommended-tags) like: ``, ``, ``, ``, ``, ``, ``, and ``. For XML documentation tags that use references to other elements, like ``, the implementation strips out the XML tag and maps the reference to plain text for inclusion in the OpenAPI document. ASP.NET Core XML documentation processing doesn't affect runtime performance. The source generator processes XML documentation at compile time and caches the results, with minimal runtime overhead when rendering the OpenAPI documentation. Furthermore, the OpenAPI document can be cached at runtime using [output-caching](/aspnet/core/performance/caching/overview#output-caching) to further optimize performance.