From eb6fb98d6ea6d4b48a921f178a541ead315e6a75 Mon Sep 17 00:00:00 2001 From: Rick Anderson <3605364+Rick-Anderson@users.noreply.github.com> Date: Wed, 6 Nov 2024 16:19:10 -1000 Subject: [PATCH 1/9] Delete duplicate section --- aspnetcore/security/index.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/aspnetcore/security/index.md b/aspnetcore/security/index.md index fcfece0f1ec2..1a761174128f 100644 --- a/aspnetcore/security/index.md +++ b/aspnetcore/security/index.md @@ -69,12 +69,6 @@ Configuration data guidelines: * Don't use production secrets in development or test environments. * Specify secrets outside of the project so that they can't be accidentally committed to a source code repository. -Configuration data guidelines: - -* Never store passwords or other sensitive data in configuration provider code or in plain text configuration files. The [Secret Manager](xref:security/app-secrets) tool can be used to store secrets in development. -* Don't use production secrets in development or test environments. -* Specify secrets outside of the project so that they can't be accidentally committed to a source code repository. - For more information, see: * [Managed identity best practice recommendations](/entra/identity/managed-identities-azure-resources/managed-identity-best-practice-recommendations) From 7315ca323cd7f73c9d55af74c3f5723cf45d56c7 Mon Sep 17 00:00:00 2001 From: Rick Anderson <3605364+Rick-Anderson@users.noreply.github.com> Date: Thu, 7 Nov 2024 12:26:31 -1000 Subject: [PATCH 2/9] Feature static asset deliver /2 (#34055) * Feature static asset deliver /2 * Feature static asset deliver /2 * Apply suggestions from code review Co-authored-by: Tom Dykstra Co-authored-by: Luke Latham <1622880+guardrex@users.noreply.github.com> --------- Co-authored-by: Tom Dykstra Co-authored-by: Luke Latham <1622880+guardrex@users.noreply.github.com> --- aspnetcore/migration/80-90.md | 4 +--- aspnetcore/release-notes/aspnetcore-9.0.md | 10 ++++++---- .../release-notes/aspnetcore-9/includes/blazor.md | 15 +++------------ .../aspnetcore-9/includes/web_asset_delivery.md | 2 -- 4 files changed, 10 insertions(+), 21 deletions(-) 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. From 71b37f30500a61308e3bff3bb15c408866cb838d Mon Sep 17 00:00:00 2001 From: Daniel Roth Date: Thu, 7 Nov 2024 18:32:18 -0800 Subject: [PATCH 3/9] Removing mention of .NET 10 in .NET 9 release notes (#34068) --- aspnetcore/release-notes/aspnetcore-9/includes/blazor.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/aspnetcore/release-notes/aspnetcore-9/includes/blazor.md b/aspnetcore/release-notes/aspnetcore-9/includes/blazor.md index 918ba131005c..502ad1a9a089 100644 --- a/aspnetcore/release-notes/aspnetcore-9/includes/blazor.md +++ b/aspnetcore/release-notes/aspnetcore-9/includes/blazor.md @@ -218,11 +218,3 @@ The component now s } } ``` - -### Multiple Blazor Web Apps per server project - - - -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). From 54bd9c520dce43f998adaeb9aafb77c6e3b18ba0 Mon Sep 17 00:00:00 2001 From: Robert Haken Date: Fri, 8 Nov 2024 12:49:16 +0100 Subject: [PATCH 4/9] [Blazor] SSR Threats - N^2 (#34065) --- .../blazor/security/server/static-server-side-rendering.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aspnetcore/blazor/security/server/static-server-side-rendering.md b/aspnetcore/blazor/security/server/static-server-side-rendering.md index e23d1163429d..aae18ca506f6 100644 --- a/aspnetcore/blazor/security/server/static-server-side-rendering.md +++ b/aspnetcore/blazor/security/server/static-server-side-rendering.md @@ -97,7 +97,7 @@ In addition, there are limits defined for the form, such as the maximum form key In general, the app must evaluate when there's a chance that a request triggers an asymmetric amount of work by the server. Examples of this include when the user sends a request parameterized by N and the server performs an operation in response that is N times as expensive, where N is a parameter that a user controls and can grow indefinitely. Normally, the app must either impose a limit on the maximum N that it's willing to process or ensure that any operation is either less, equal, or more expensive than the request by a constant factor. -This aspect has more to do with the difference in growth between the work the client performs and the work the server performs than with a specific 1→N comparison. For example, a client might submit a work item (inserting elements into a list) that takes N units of time to perform, but the server needs N^2^ to process (because it might be doing something very naive). It's the difference between N and N^2^ that matters. +This aspect has more to do with the difference in growth between the work the client performs and the work the server performs than with a specific 1→N comparison. For example, a client might submit a work item (inserting elements into a list) that takes N units of time to perform, but the server needs N2 to process (because it might be doing something very naive). It's the difference between N and N2 that matters. As such, there's a limit on how much work the server must be willing to do, which is specific to the app. This aspect applies to server-side workloads, since the resources are on the server, but doesn't necessarily apply to WebAssembly workloads on the client in most cases. From e651e0a1c85fd29ece27d34a3b92eda21139d85e Mon Sep 17 00:00:00 2001 From: Luke Latham <1622880+guardrex@users.noreply.github.com> Date: Fri, 8 Nov 2024 07:10:44 -0500 Subject: [PATCH 5/9] Small change to 'splatting' explanation (#34071) --- .../components/splat-attributes-and-arbitrary-parameters.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aspnetcore/blazor/components/splat-attributes-and-arbitrary-parameters.md b/aspnetcore/blazor/components/splat-attributes-and-arbitrary-parameters.md index ddd674746798..3605c4a6d4ca 100644 --- a/aspnetcore/blazor/components/splat-attributes-and-arbitrary-parameters.md +++ b/aspnetcore/blazor/components/splat-attributes-and-arbitrary-parameters.md @@ -12,7 +12,7 @@ uid: blazor/components/attribute-splatting [!INCLUDE[](~/includes/not-latest-version.md)] -Components can capture and render additional attributes in addition to the component's declared parameters. Additional attributes can be captured in a dictionary and then *splatted* onto an element when the component is rendered using the [`@attributes`](xref:mvc/views/razor#attributes) Razor directive attribute. This scenario is useful for defining a component that produces a markup element that supports a variety of customizations. For example, it can be tedious to define attributes separately for an `` that supports many parameters. +Components can capture and render additional attributes in addition to the component's declared parameters. Additional attributes can be captured in a dictionary and then applied to an element, calling *splatting*, when the component is rendered using the [`@attributes`](xref:mvc/views/razor#attributes) Razor directive attribute. This scenario is useful for defining a component that produces a markup element that supports a variety of customizations. For example, it can be tedious to define attributes separately for an `` that supports many parameters. ## Attribute splatting From 3780f2dec95823b9666a05bd30c55a4cd8783efc Mon Sep 17 00:00:00 2001 From: Luke Latham <1622880+guardrex@users.noreply.github.com> Date: Fri, 8 Nov 2024 11:45:09 -0500 Subject: [PATCH 6/9] API cross-links and other 9.0 updates (#34072) --- aspnetcore/blazor/blazor-ef-core.md | 2 +- aspnetcore/blazor/call-web-api.md | 12 ++++----- .../blazor/components/js-spa-frameworks.md | 6 ++--- aspnetcore/blazor/components/lifecycle.md | 3 --- .../lifecycle/_static/lifecycle1.png | Bin 71354 -> 61732 bytes aspnetcore/blazor/components/quickgrid.md | 15 +++--------- aspnetcore/blazor/components/render-modes.md | 20 +++++++-------- aspnetcore/blazor/components/rendering.md | 4 +-- aspnetcore/blazor/forms/input-components.md | 2 +- .../blazor/fundamentals/environments.md | 12 ++++----- aspnetcore/blazor/fundamentals/signalr.md | 23 +++++++----------- aspnetcore/blazor/fundamentals/startup.md | 4 +-- .../blazor/globalization-localization.md | 4 +-- .../security/blazor-web-app-with-entra.md | 12 ++------- .../security/blazor-web-app-with-oidc.md | 10 ++++---- aspnetcore/blazor/security/server/index.md | 12 +++------ .../webassembly/standalone-with-identity.md | 7 +----- .../tutorials/movie-database-app/index.md | 4 +-- .../tutorials/movie-database-app/part-4.md | 8 ++---- .../tools/dotnet-aspnet-codegenerator.md | 6 ----- aspnetcore/release-notes/aspnetcore-9.0.md | 2 +- .../aspnetcore-9/includes/blazor.md | 16 ++++++------ .../includes/web_asset_delivery.md | 2 +- 23 files changed, 69 insertions(+), 117 deletions(-) diff --git a/aspnetcore/blazor/blazor-ef-core.md b/aspnetcore/blazor/blazor-ef-core.md index 655713e37030..ce4204f9fb60 100644 --- a/aspnetcore/blazor/blazor-ef-core.md +++ b/aspnetcore/blazor/blazor-ef-core.md @@ -175,7 +175,7 @@ The recommended approach to create a new satisfies any dependencies via the service provider. -* `IDbContextFactory` is available in EF Core ASP.NET Core 5.0 or later, so the interface is [implemented in the sample app for ASP.NET Core 3.x](https://github.com/dotnet/blazor-samples/blob/main/3.1/BlazorServerEFCoreSample/Data/IDbContextFactory.cs). +* is available in EF Core ASP.NET Core 5.0 or later, so the interface is [implemented in the sample app for ASP.NET Core 3.x](https://github.com/dotnet/blazor-samples/blob/main/3.1/BlazorServerEFCoreSample/Data/IDbContextFactory.cs). :::moniker-end diff --git a/aspnetcore/blazor/call-web-api.md b/aspnetcore/blazor/call-web-api.md index 28192804c1f0..8b1ac24f5afa 100644 --- a/aspnetcore/blazor/call-web-api.md +++ b/aspnetcore/blazor/call-web-api.md @@ -222,13 +222,11 @@ For more information, see [Client-side services fail to resolve during prerender When prerendering, components render twice: first statically, then interactively. State doesn't automatically flow from the prerendered component to the interactive one. If a component performs asynchronous initialization operations and renders different content for different states during initialization, such as a "Loading..." progress indicator, you may see a flicker when the component renders twice. - + You can address this by flowing prerendered state using the Persistent Component State API, which the `BlazorWebAppCallWebApi` and `BlazorWebAppCallWebApi_Weather` [sample apps](#sample-apps) demonstrate. When the component renders interactively, it can render the same way using the same state. However, the API doesn't currently work with enhanced navigation, which you can work around by disabling enhanced navigation on links to the page (`data-enhanced-nav=false`). For more information, see the following resources: diff --git a/aspnetcore/blazor/components/js-spa-frameworks.md b/aspnetcore/blazor/components/js-spa-frameworks.md index cf713d91a97e..59fc8115f58b 100644 --- a/aspnetcore/blazor/components/js-spa-frameworks.md +++ b/aspnetcore/blazor/components/js-spa-frameworks.md @@ -23,10 +23,10 @@ This article covers how to render Razor components from JavaScript, use Blazor c ## Angular sample apps - + -* [CustomElementsBlazorSample (Blazor Server) (`javiercn/CustomElementsBlazorSample`, branch: `blazor-server`)](https://github.com/javiercn/CustomElementsBlazorSample/tree/blazor-server): Blazor Server is supported in .NET 8. To migrate this .NET 7 sample to .NET 8, see . -* [CustomElementsBlazorSample (Blazor WebAssembly) (`javiercn/CustomElementsBlazorSample`, branch: `blazor-wasm`)](https://github.com/javiercn/CustomElementsBlazorSample/tree/blazor-wasm): To migrate this .NET 7 sample to .NET 8, see . +* [CustomElementsBlazorSample (Blazor Server) (`javiercn/CustomElementsBlazorSample`, branch: `blazor-server`)](https://github.com/javiercn/CustomElementsBlazorSample/tree/blazor-server): Blazor Server is supported in .NET 8/9. To migrate this .NET 7 sample, see and . +* [CustomElementsBlazorSample (Blazor WebAssembly) (`javiercn/CustomElementsBlazorSample`, branch: `blazor-wasm`)](https://github.com/javiercn/CustomElementsBlazorSample/tree/blazor-wasm): To migrate this .NET 7 sample, see and . ## Render Razor components from JavaScript diff --git a/aspnetcore/blazor/components/lifecycle.md b/aspnetcore/blazor/components/lifecycle.md index ec351be6d5c4..39df76e2d641 100644 --- a/aspnetcore/blazor/components/lifecycle.md +++ b/aspnetcore/blazor/components/lifecycle.md @@ -38,9 +38,6 @@ Component lifecycle events: A parent component renders before its children components because rendering is what determines which children are present. If synchronous parent component initialization is used, the parent initialization is guaranteed to complete first. If asynchronous parent component initialization is used, the completion order of parent and child component initialization can't be determined because it depends on the initialization code running. - - ![Component lifecycle events of a Razor component in Blazor](~/blazor/components/lifecycle/_static/lifecycle1.png) DOM event processing: diff --git a/aspnetcore/blazor/components/lifecycle/_static/lifecycle1.png b/aspnetcore/blazor/components/lifecycle/_static/lifecycle1.png index e174c33e2f65bfd73a0ac52ed0aa8345da3e8fd8..3597fdeced64a14f6bfbb032b422716015bd18ea 100644 GIT binary patch literal 61732 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
aK$g6`FU|!z}?5!^Nrd-P?6W)0ff41 zyGqVPPjRHGTYFfIH125b&h(O!Ks9#izKf*QYq(ccn&Yy7PkTl39iIbztG;aw`^WwQ zLSuIgq?3e-pzWw!YBN9>NDlr)|7bSA?3CmNO!jWDw6dzAPxQQ?mlj?&hFyEqPDHpe z)#A3nyCq2kTVjgzcWwYJWH@cKy2Mf|3tT!XHGbr{!2xR&yFfY%n!{T%T}GDwD_f#8 zJl{so&CSi(!$U~k_z}Nt@K62P)TBp`R-ykw|2u#Fykjc*0Gy;!*ixPCaJ0qi^gQgH z9O#GV+FZb=Iv-bN6AvCUHonkDXuI4H&VF@*!{OMGD?`!>3suK^OY#SBcU9SQb90gK ze1tGTaV3WAT0qkke3aCnLf@f=+za&&PVb6tmyOX{TUu6ThWBUDC-P%(-*3trRyLfE z(N<%12J{7H4V;JWDQ#BgfPQ$myI09M*86oP>qGjS<5|`jVpEUW7}k3Hl;nWEn=ifZ z1m7<3PL*RDVDeqtcHobKGHX4guYPa*7zJ}w1+q0I)!aX>KZ=1hZCyQ!PFs;JDp?^d zDH)~R5g{ab%hPN|1A`mSd+v$ei_srrq0Mfb(|9pk=GpaHj@}6msIFFeuQk)8XE)JZ zC>n_*+5~NY**mR@)(de4pYjpT&;spkMxlMsk5*MBj6J)j*8mAkfw{cK zpC5c0YhaKWH+R?KJg#n8PnSsXdm-fc&$3BSi}5+r-PQDFO=`I;gQxJhGwEg#=z_e? z80jF`rb=xv(!6>*W%$BNXaH;oOdjSxTOb`W)2x9gYqXtVIBnO@3dmaaad_El1L?pm zvl;^VOVa12pmo<^}bA9k$$`v!F$BK&YlJF&D)u6KKj2InDdcqS^)-ae(J~jCp&m48F zKSKIKL*tB3D|W--*y5!QZScgMGWFt<%Gc0UDx_YaHJaY!3aO~8CkoxFT{Aq~h#Fnq z^2@cvaMzrjwj*?c@rw%$?!pJFaa`1S%gS|wE3I#p(^2Z@@+_{}E zO0i_=nJEWVxAVEKVaQM_zViFlFcLOu5PEh@CJas-dAkvYd~9Wmv9fYl8>!LejknA! zRi<0>ap%}cH(a6-gYbcB**VlKnBGkNpct|Sz)sw%&90IhPQo^MLlPlx-LqbrHSo=q zhfMt8B|!E_f@3Sul7eMg!V_VXO4;{mjrLK?%i)PXkqHS28rq8K#|90TeI7Ox3(p>G zj`D6k!F68pmPFPo(6CNW;s|#24T^AI%=aBqUJOqY`<$eGhaGyf#{l3fPjHQkkmQ;L z(wA^3uNle7;I;`M%{Z>$n14slGCm4^@TS^z+`wIfTd%BB2c?-J-|L42Vxnvqw;Gn; zXo%PzMkRd`hxeoya#+uP(A#kg0v#6z&-4+)34cj2hubvI`O1WB;JKp5qrd|5Z!;|v z*pVU_(VgXH)fs#OvSBR&X#-`rgp zf@@yGfmdbJT#!6;-B|mt6tHCzmG^RzRDFHrgm}UGG1~Ob@$(ri@8eoNWhi)Pfvw~b z^X+>~>nG~hax>=Mh)V_%PPPx_RO8GhhvLLH+?vS9%iBGN@XYx*A_FaQa?{W7P=1+h zDnA3BB+s!SeHO4(c|;#1c+nbkK#SgaKHs_{4s}K;m%rc41suz@tBPoiGIZ;BB?J-_ zfWMPFhTSe*((s686g1*Xu576A!ZOd8lzkNA%nj>bx0n6CAdb=y&49_APpp(#6sS>@ z83_1-qIso3CcPP4<(h}pciQ)!E8%GK*hv##dIr+GLw(fNg<)c4zUde|hRuCI(b7e} zl7#QS88J}s_944BGn_C?Oq7sP+S+YR6!})k_#Oq1RRN^Wqa~`cvp6qB%ObIX$mNm~ z1FoK42{cT_@i#CF8i0Nn>hn?&5`I0NF>q_?bcJ@h4Obf2u)XGOyrkw;=0a?DQ%-Yoj!st!WGHtQdyyZ7 z@Mpi3X9LC~m-YCyX9 zMtJ#m-1QLBvf$Hisbt+D%a!x8zV(3EysFD<5RU_~+PE z1kI*TV*VzS6#OCz@wDE{C&S%+g_TV_4$3>)Vmn*>@H7Uzd#rVJoRN9_=p7{6Ug(q`NOv7d{eUDK1m#3|S`3!Ucr;in_7EMw64BB9+7g;q z;s35#e2OhJj5U70o2t5cO-lbw`IL|Bd=sso@6-L~fdMXLV*UU-w1aMKN?N3}0GQV& zwlAoLaE#W}pZXMHVWD5cG(71m5+2nR0URfj`x#tW>65V+5LYh*Z~8zB@4o~h*IKQ% z^4FJ5-++$tLyZ}j@{iJ6qLH84zuL#Oc~_(6nw_3#(|{!-tT|Md8C{-qwBwNHJcz`xRAB^zkfoL5on?romxxZ zB2DlzK*vDcuP%mBc^gO4g!dii1MxJBz>ro50FQmAAw|L-cUo}^wsp`=k2l&E$;L~5 zjn?_e5`CE&uilX6BVr&%-lb)wwgCqgh9rxIBs1Az(XSDye7u@2!h{NMUvB+B2fy93 z9@Et*D#Qtg4EBqrzBsRs-51$CO@2Wq&5t9DAgzH2>T>}BG&ce%1F^42h1Vu6)~S)V zu!Cx34uo4}d|8cUTM8GiHltsI^do+n61+iFr;vS5yghEXz0logLBt<7X@r=16`s7HHhS(+#fhnFZ?h~s)yFG3Q*BBnbhrX;P-c7og7tyIP+I)Ar}rR71gXN@ z847V%$ZOcbncaM4B>t^^srE(NjE@2@=6a(eh_p`iT|Z(V)(3o(pb$3&t^pB&_#h%% zE{H&FF?h-==o%^RozR}|yqey-f1qWr@VE*eECB@rai;LX?`YZ;odT+1e5KPzlhzoeu`i zGs=Y_Pk@T=E@9=QA(i>~a5Q4Vk?4c6R{TwgxpPz&tw=Sf>9uF_761C^MGAQRULq-ikWH0OxY95Dj0f_hc67Ci( zi_(7chKvo#IID?V;`h4Q-M8@=%tYP{49J1 ztp&V$tb=|fZf#(*T@_(Mx?hZYwK|@?c`?j8ek~6K;e+YI0-^goyt8y+SK?PZ&O409 z*ulPG@0kZRe6ZI6;1en837NG#<#e!Y$X;z?D}dLDegeCd<5A9+g1bSwymL@RM)&f0 zKI#hWOZ;==wU8zH_3OVcjgI}-DD33isI@hfH+b3Zg)dh~R1e;T8ltAQPVp1e5=j~L z;D91Db$bFG1dQ^WMpp~c_}SJF0JX4+chXAat&cBMw7Yj}-Wf3(!Pv(1*!^?#sCGcr zGk7oW!VKJlejMm(=DEA|U`p2>fP8Wv!Mc(Q0(3L5zs8VIW}1P3igq3VGb6y{RIcHJ zwLM!g3!=SxxES;(gZuZ7uZM^6PCY8?dR@}>Sr;LU&JBQ9$kneCdgUBzz!$2QH zTnFENj{Xa_%=I9jsI;7yIfh9oXN|JmpL{3JLqYMa)E`P{{uzcvbbpSftL93y_N)Qn zI*mpvYFIZD)tP1@) zxJp5AO{nU83w{NY03j9ae+&E2w`{yn^>SQ_mckX1GiR?8Kms}ip)~Whl>FRe=stNK z3Dw3?q)=x-Wa2vR#oXhdzjMsEDE)6yEUd zOSO`rp!M0~{nP4Ojdc70HQk@;?uL3P(ikSxY^o&vY6>hg zV{CF=1#~7tT-YXiAG^cH7WTcObOI9QTIXSZ?|QiD>eaAdHKkmGcvnUM)CABwn}3d= zg_7tt2e>trN1tLESLR5iu5uD6FJng7BO$PXQJcB4uAUFJF*13@4bbV8ym#Fu4U&x# zdJnV=7d)ymbAu=>!$w8a{&X3Q8`s-vU6vEuljS5G23bN=Oc`oW(6r zKWqDzW=@90=+L1)s5xpA)D#`9;5!bi{zD}c9aK40`i9E0`_H9;-SIUHeTqaB!T#^9 zDkI<-$Hsr2c`ymxK^iQEecg(!OT0>O^KlvTpa-!oI8ChN_MS{^;G)N!+|xNBcO@&w z*v5<+P+M>Uj~aJsu}wgsp;9W!c-BOa0HxD=JZfH5rggf-3zlaF39WzVNrYmHr>viK zoY3$!OhpQQH@zBitw}{)zptSal+dNSFDZda>;`8?cbzj=9+GTQGo6?*MfX4GPvW)n;CY{syYMqm+^?gk0u6 zbnIXoNRB&7B{#0+j(Pn1gjfo?ktA8IRP>pQHZV3O`W0weR+qM;Cpm^dAW!W3_Yjpg za8pCZf}!eU7roOSVpPAO{M%2QvMr(Pj()*q%jwzzB&b{b_r)i=GoT_eyl35<6UNGY z1{>5E)Q%fY+`~2~Rv(KEJX3|&o)8=gAYoUF8EWhUh_Y2t!2N$prqd5NvWO+xjQj;)b^C^V# zYrO%cM7Vpyk%2!0`F#`9d!S(5AE(Rx;9wnzfIZktAz<5Rhf36PWPoZrSu*DMZ<&3j zV7nN~6E<`xFg_oH!l;eb<;($RCa4Qq={#CWhbA2tqYWui<$H$~zXdcoKSy&4nGEXs zmsqgA(6_`OKvkpsHZrsr034-(34yg=DvC85E;Ei%3S#gK(uwPQoT?qL_pEf%ecy|l zn24cvK*jjKM3$<-#aBEXOMumJtZ)V`%rXD^Dt~=4s4v z5^-hfE}orS~GhYY%L zjbA?(BsY5~c6=l>HSN;)WDBKzo82cWARi8e;ICyWQhwK&xAVQ}C&5PnO&10Os{*84 z2T8Le<$a15DlXGLjr*f@yHnDf!(?$1cHil3gWveBOlu7J0_1+fks3(LX`Gwu!1m4a+0x|<;t@@|Fs8zl>546qTLiPta4h15GG z^W@a%)+c+P(+E7Tw0)4L80jDCQcmuGUeSU5nIs}WrMFHNAm+u~XBj~J8^;2YQvyYR zfkO2HZ2bN`qG}&Oq*)hP=wU$Xi6~H;P6Al)RpQGT=mGu%@B%Xdlvxqwh~dVyEp!9C zm&WhFq8=HDal;VQ2!ZZLuU)V#P)I2Dy1_Z>YhVlx88*}&H7-n8LXNk{s9!jb%{P6B zprsW5oG&EFWkHJ=7ODi4S$nN;gmBnO29BhT_OHl=l+_c zxucb{?qTS$PyrVvLi)R4AEI|CT77mo6}XcKsMJa*0?rRvtrT+<1>z{{;rm_;!eAwo zacZ|eq(EhsV^<=Cr|1%Zh+?i+uZ=`N9XcCVKvc}W&ic}}unDv# zchUZOxZzQ8`E*uB>onTd0RwDQV0Q%BuE$LdzS(hoLE5M!S47FJLcpdwKTe?qYcXG8 z`~MGU56DjykZrH+TQry;d~|sqK;K@XI?O-*t2nsIAMR$mYppP!!ja5g&@W(ipbneZ z7VFmwr_L+U87NZf6zvisid+EDIGVf|Bju8s5_tU5^H3GqVLUosC_a0Ttb`VcRrvD{ zTFCwB<^W-vnx@-1sKL`P8&z0|6!wZY4^^tGu0sU{ky`ExuWjJ7EmWr80WuHy0?CHh z<{J$fZd@8JAz)JJ$y{)RG2xx2#}-+^mdv$)JV61MmTo{FGwNLc%=!|(K5fR7R@5w0G;3=~}N(iE-eyf<@jSV>GJu6X&q2U2&$ zD#6J=SOMFpMU~>C)d72C@B3yK*W-YGSD!=&jz7AjJ>KpHhtJ&CMvoV{D7NoWB0@_ zm&zkU3JYer8OQ6`M6m;;+BG{IcWe?g@ZQFGY(kl+U^xKFUh|XP!z^e3D5werJm{K$ zKHIoJGIZC@7AW)FDugvFDA=$&p|)(m^(x50<<$Tf>|j0u;1KLfbZO~ygKehhRgoV; zpSdy!Ss|2f5U-+3#*gS%;VFxCeUh2>LO;H==M&z8byHw}L2M`6U`Y^Ubj*4Fi|1A# zwmQH7583jdBN_OVj?#Xk$FaMtUqQo9Mvv8zI}PB0!DXX94iymz-^J^e8&bTO*uGIY zC>1ByGMosWw>SXkQ2pe*?db0#Ng^TOVqT{OfM*O0AISu_w;bovGCm~vUsrv~YdV57 z!37Lj@&2d*9uBbNOTzOPSu`Tlqr2l;B*x=eN%j;X0QGOn4j0TGcez>wl)y@Q7hoZ{ z(uLsVriWK{=Bi>S%eUr(9l3=`=msKFUnXgBwv{jMJ@-Lt$LQcj2-m7Xw#F_ z2CC#AfA77tiQ+g9G3Q7)J_!GR_qeJ|Xf%MnxFV1U-WHQWLziN?L`ELE-> zG}q8~qxJs)Pj+t9!Y0Uy0h|c@vM?x*sJ~q)E;s@X7h=BTb)(Q!fTEKi9Dw%YyB~QA zO}crA5{%i=b|EE#+CD7y_(6UYtbb@d1(kHqF3W-PmYqQiWwm51ib!Z_ZO(~vB{W-M z)J7+5W|3tFN9qXaLDqaW68eAnz4{cRhxXpi`$GZ)Ld2qjf&V%Bqe~#uQ%KrOW=ta@ACu+I8OcxqBqaPMx zNf_}$A_MM>)>87;2R(XWpfKWv!&6J=l$9q|W9J8Z46~QD6Uz&F#0AjF!D}8Mjf;lE zUgGc>&A*^C{9iu)=e*x8@jpKP_hodG=aChB#HYkdo47~-+=B0jzVV?~2hUymKQq(6 AcK`qY literal 71354 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 M%Bsj@OBs0nKVWxjL;wH) diff --git a/aspnetcore/blazor/components/quickgrid.md b/aspnetcore/blazor/components/quickgrid.md index ba5a5d97e45a..96eda41d12be 100644 --- a/aspnetcore/blazor/components/quickgrid.md +++ b/aspnetcore/blazor/components/quickgrid.md @@ -43,7 +43,7 @@ To implement a `QuickGrid` component: * : If true, the grid is rendered with virtualization. This is normally used in conjunction with scrolling and causes the grid to fetch and render only the data around the current scroll viewport. This can greatly improve the performance when scrolling through large data sets. If you use , you should supply a value for and must ensure that every row renders with a constant height. Generally, it's preferable not to use if the amount of data rendered is small or if you're using pagination. * : Only applicable when using . defines an expected height in pixels for each row, allowing the virtualization mechanism to fetch the correct number of items to match the display size and to ensure accurate scrolling. * : Optionally defines a value for `@key` on each rendered row. Typically, this is used to specify a unique identifier, such as a primary key value, for each data item. This allows the grid to preserve the association between row elements and data items based on their unique identifiers, even when the `TGridItem` instances are replaced by new copies (for example, after a new query against the underlying data store). If not set, the `@key` is the `TGridItem` instance. -* `OverscanCount`: Defines how many additional items to render before and after the visible region to reduce rendering frequency during scrolling. While higher values can improve scroll smoothness by rendering more items off-screen, a higher value can also result in an increase in initial load times. Finding a balance based on your data set size and user experience requirements is recommended. The default value is 3. Only available when using . +* : Defines how many additional items to render before and after the visible region to reduce rendering frequency during scrolling. While higher values can improve scroll smoothness by rendering more items off-screen, a higher value can also result in an increase in initial load times. Finding a balance based on your data set size and user experience requirements is recommended. The default value is 3. Only available when using . * : Optionally links this `TGridItem` instance with a model, causing the grid to fetch and render only the current page of data. This is normally used in conjunction with a component or some other UI logic that displays and updates the supplied instance. * In the `QuickGrid` child content (), specify s, which represent `TGridItem` columns whose cells display values: * : Defines the value to be displayed in this column's cells. @@ -131,8 +131,8 @@ Set the `QuickGrid` component's ``` - + To provide a UI for pagination, add a [`Paginator` component](xref:Microsoft.AspNetCore.Components.QuickGrid.Paginator) above or below the `QuickGrid` component. Set the to `pagination`: @@ -236,14 +236,10 @@ The following example filters movies by a movie title entered in a search box. T } ``` - ## Display name support @@ -492,9 +488,4 @@ dotnet aspnet-codegenerator blazor -h --- - diff --git a/aspnetcore/blazor/components/render-modes.md b/aspnetcore/blazor/components/render-modes.md index adf8b5a964ff..61e3a8afd2c1 100644 --- a/aspnetcore/blazor/components/render-modes.md +++ b/aspnetcore/blazor/components/render-modes.md @@ -217,15 +217,15 @@ Additional information on render mode propagation is provided in the [Render mod ## Detect rendering location, interactivity, and assigned render mode at runtime -The `ComponentBase.RendererInfo` and `ComponentBase.AssignedRenderMode` properties permit the app to detect details about the location, interactivity, and assigned render mode of a component: +The and properties permit the app to detect details about the location, interactivity, and assigned render mode of a component: -* `RendererInfo.Name` returns the location where the component is executing: +* returns the location where the component is executing: * `Static`: On the server (SSR) and incapable of interactivity. * `Server`: On the server (SSR) and capable of interactivity after prerendering. * `WebAssembly`: On the client (CSR) and capable of interactivity after prerendering. * `WebView`: On the native device and capable of interactivity after prerendering. -* `RendererInfo.IsInteractive` indicates if the component supports interactivity at the time of rendering. The value is `true` when rendering interactively or `false` when prerendering or for static SSR (`Platform.Name` of `Static`). -* `ComponentBase.AssignedRenderMode` exposes the component's assigned render mode: +* indicates if the component supports interactivity at the time of rendering. The value is `true` when rendering interactively or `false` when prerendering or for static SSR ( of `Static`). +* exposes the component's assigned render mode: * `InteractiveServer` for Interactive Server. * `InteractiveAuto` for Interactive Auto. * `InteractiveWebAssembly` for Interactive WebAssembly. @@ -281,7 +281,7 @@ else In the preceding example: -* When the value of `AssignedRenderMode` is `null`, the component adopts static SSR. Blazor event handling isn't functional in a browser with static SSR, so the component submits a form (GET request) with a `titleFilter` query string set to the user's `` value. The `Movie` component (`/movie`) can read the query string and process the value of `titleFilter` to render the component with the filtered results. +* When the value of is `null`, the component adopts static SSR. Blazor event handling isn't functional in a browser with static SSR, so the component submits a form (GET request) with a `titleFilter` query string set to the user's `` value. The `Movie` component (`/movie`) can read the query string and process the value of `titleFilter` to render the component with the filtered results. * Otherwise, the render mode is any of `InteractiveServer`, `InteractiveWebAssembly`, or `InteractiveAuto`. The component is capable of using an event handler delegate (`FilterMovies`) and the value bound to the `` element (`titleFilter`) to filter movies interactively over the background SignalR connection. :::moniker-end @@ -606,7 +606,7 @@ This approach is only useful when the app has specific pages that can't work wit :::moniker range=">= aspnetcore-9.0" -Mark any Razor component page with the `[ExcludeFromInteractiveRouting]` attribute assigned with the `@attribute` Razor directive: +Mark any Razor component page with the [`[ExcludeFromInteractiveRouting]` attribute](xref:Microsoft.AspNetCore.Components.ExcludeFromInteractiveRoutingAttribute) assigned with the `@attribute` Razor directive: ```razor @attribute [ExcludeFromInteractiveRouting] @@ -614,12 +614,12 @@ Mark any Razor component page with the `[ExcludeFromInteractiveRouting]` attribu Applying the attribute causes navigation to the page to exit from [interactive routing](xref:blazor/fundamentals/routing#static-versus-interactive-routing). Inbound navigation is forced to perform a full-page reload instead resolving the page via interactive routing. The full-page reload forces the top-level root component, typically the `App` component (`App.razor`), to rerender from the server, allowing the app to switch to a different top-level render mode. -The `HttpContext.AcceptsInteractiveRouting` extension method allows the component to detect whether `[ExcludeFromInteractiveRouting]` is applied to the current page. +The extension method allows the component to detect whether the [`[ExcludeFromInteractiveRouting]` attribute](xref:Microsoft.AspNetCore.Components.ExcludeFromInteractiveRoutingAttribute) is applied to the current page. In the `App` component, use the pattern in the following example: -* Pages that aren't annotated with `[ExcludeFromInteractiveRouting]` default to the `InteractiveServer` render mode with global interactivity. You can replace `InteractiveServer` with `InteractiveWebAssembly` or `InteractiveAuto` to specify a different default global render mode. -* Pages annotated with `[ExcludeFromInteractiveRouting]` adopt static SSR (`PageRenderMode` is assigned `null`). +* Pages that aren't annotated with the [`[ExcludeFromInteractiveRouting]` attribute](xref:Microsoft.AspNetCore.Components.ExcludeFromInteractiveRoutingAttribute) default to the `InteractiveServer` render mode with global interactivity. You can replace `InteractiveServer` with `InteractiveWebAssembly` or `InteractiveAuto` to specify a different default global render mode. +* Pages annotated with the [`[ExcludeFromInteractiveRouting]` attribute](xref:Microsoft.AspNetCore.Components.ExcludeFromInteractiveRoutingAttribute) adopt static SSR (`PageRenderMode` is assigned `null`). ```razor @@ -643,7 +643,7 @@ In the `App` component, use the pattern in the following example: } ``` -An alternative to using the `HttpContext.AcceptsInteractiveRouting` extension method is to read endpoint metadata manually using `HttpContext.GetEndpoint()?.Metadata`. +An alternative to using the extension method is to read endpoint metadata manually using `HttpContext.GetEndpoint()?.Metadata`. :::moniker-end diff --git a/aspnetcore/blazor/components/rendering.md b/aspnetcore/blazor/components/rendering.md index a49a24011414..b3b83a8167dd 100644 --- a/aspnetcore/blazor/components/rendering.md +++ b/aspnetcore/blazor/components/rendering.md @@ -323,7 +323,7 @@ The state manager approach is similar to the earlier case with + A loading progress indicator isn't present in an app created from the Blazor Web App project template. A new loading progress indicator feature is planned for a future release of .NET. In the meantime, an app can adopt custom code to create a loading progress indicator. For more information, see . diff --git a/aspnetcore/blazor/forms/input-components.md b/aspnetcore/blazor/forms/input-components.md index 50d2fc020356..0e596c218988 100644 --- a/aspnetcore/blazor/forms/input-components.md +++ b/aspnetcore/blazor/forms/input-components.md @@ -458,7 +458,7 @@ The validation summary displays the friendly name when the field's value is inva > The Production Date field must be a date. - + We recommend the following conventions: @@ -153,9 +153,9 @@ In the following example for IIS, the custom header (`blazor-environment`) is ad ## Set the environment for Azure App Service - + For a standalone Blazor WebAssembly app, you can set the environment manually via [start configuration](#set-the-client-side-environment-via-blazor-startup-configuration) or the [`blazor-environment` header](#set-the-client-side-environment-via-header). diff --git a/aspnetcore/blazor/fundamentals/signalr.md b/aspnetcore/blazor/fundamentals/signalr.md index 0b84ac376670..5ed800690d18 100644 --- a/aspnetcore/blazor/fundamentals/signalr.md +++ b/aspnetcore/blazor/fundamentals/signalr.md @@ -34,23 +34,23 @@ Blazor works best when using WebSockets as the SignalR transport due to lower la ## WebSocket compression for Interactive Server components - - By default, Interactive Server components: -* Enable compression for [WebSocket connections](xref:fundamentals/websockets). `ConfigureWebsocketOptions` controls WebSocket compression. +* Enable compression for [WebSocket connections](xref:fundamentals/websockets). (default: `false`) controls WebSocket compression. * Adopt a `frame-ancestors` [Content Security Policy (CSP)](https://developer.mozilla.org/docs/Web/HTTP/CSP) directive set to `'self'`, which only permits embedding the app in an `