From 1f58ecea95c7ed411149b057bc57a95a464850ce Mon Sep 17 00:00:00 2001 From: Luke Latham <1622880+guardrex@users.noreply.github.com> Date: Tue, 5 Mar 2024 17:01:11 -0500 Subject: [PATCH] Blazor-specific 'how to download' guidance (#31979) --- aspnetcore/blazor/blazor-ef-core.md | 6 +++--- aspnetcore/blazor/components/control-head-content.md | 2 +- aspnetcore/blazor/components/data-binding.md | 2 +- aspnetcore/blazor/components/layouts.md | 2 +- aspnetcore/blazor/components/templated-components.md | 2 +- aspnetcore/blazor/file-downloads.md | 2 +- aspnetcore/blazor/file-uploads.md | 4 ++-- aspnetcore/blazor/forms/index.md | 4 ++-- .../blazor/fundamentals/dependency-injection.md | 6 +++--- aspnetcore/blazor/fundamentals/environments.md | 2 +- aspnetcore/blazor/fundamentals/handle-errors.md | 4 ++-- aspnetcore/blazor/fundamentals/index.md | 11 ++++++++--- aspnetcore/blazor/fundamentals/logging.md | 4 ++-- aspnetcore/blazor/fundamentals/signalr.md | 4 ++-- aspnetcore/blazor/images.md | 2 +- .../call-dotnet-from-javascript.md | 2 +- .../call-javascript-from-dotnet.md | 2 +- aspnetcore/blazor/project-structure.md | 4 ++-- .../security/server/blazor-web-app-with-oidc.md | 6 +++--- .../security/webassembly/standalone-with-identity.md | 2 +- aspnetcore/blazor/tutorials/signalr-blazor.md | 4 ++-- 21 files changed, 41 insertions(+), 36 deletions(-) diff --git a/aspnetcore/blazor/blazor-ef-core.md b/aspnetcore/blazor/blazor-ef-core.md index 2b3033bc3a..66f3f004b3 100644 --- a/aspnetcore/blazor/blazor-ef-core.md +++ b/aspnetcore/blazor/blazor-ef-core.md @@ -37,13 +37,13 @@ The sample app was built as a reference for server-side Blazor apps that use EF :::moniker range=">= aspnetcore-8.0" -[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:index#how-to-download-a-sample)): Select the folder that matches the version of .NET that you're adopting. Within the version folder, access the sample named `BlazorWebAppEFCore`. +[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)): Select the folder that matches the version of .NET that you're adopting. Within the version folder, access the sample named `BlazorWebAppEFCore`. :::moniker-end :::moniker range="< aspnetcore-8.0" -[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:index#how-to-download-a-sample)): Select the folder that matches the version of .NET that you're adopting. Within the version folder, access the sample named `BlazorServerEFCoreSample`. +[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)): Select the folder that matches the version of .NET that you're adopting. Within the version folder, access the sample named `BlazorServerEFCoreSample`. :::moniker-end @@ -82,7 +82,7 @@ The sample uses a local [SQLite](https://www.sqlite.org/index.html) database so The grid, add, and view components use the "context-per-operation" pattern, where a context is created for each operation. The edit component uses the "context-per-component" pattern, where a context is created for each component. > [!NOTE] -> Some of the code examples in this topic require namespaces and services that aren't shown. To inspect the fully working code, including the required [`@using`](xref:mvc/views/razor#using) and [`@inject`](xref:mvc/views/razor#inject) directives for Razor examples, see the [sample app](https://github.com/dotnet/blazor-samples). +> Some of the code examples in this topic require namespaces and services that aren't shown. To inspect the fully working code, including the required [`@using`](xref:mvc/views/razor#using) and [`@inject`](xref:mvc/views/razor#inject) directives for Razor examples, see the [sample app](#sample-app). ## Database access diff --git a/aspnetcore/blazor/components/control-head-content.md b/aspnetcore/blazor/components/control-head-content.md index 6e98594326..8a0e23ee29 100644 --- a/aspnetcore/blazor/components/control-head-content.md +++ b/aspnetcore/blazor/components/control-head-content.md @@ -142,7 +142,7 @@ In Blazor apps created from a Blazor project template, the `NotFound` component ## Additional resources * [Control headers in C# code at startup](xref:blazor/fundamentals/startup#control-headers-in-c-code) -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) Mozilla MDN Web Docs documentation: diff --git a/aspnetcore/blazor/components/data-binding.md b/aspnetcore/blazor/components/data-binding.md index a1957726d4..05d0effe3a 100644 --- a/aspnetcore/blazor/components/data-binding.md +++ b/aspnetcore/blazor/components/data-binding.md @@ -905,4 +905,4 @@ For an alternative approach suited to sharing data in memory and across componen * [Binding to radio buttons in a form](xref:blazor/forms/binding#radio-buttons) * [Binding `InputSelect` options to C# object `null` values](xref:blazor/forms/binding#binding-inputselect-options-to-c-object-null-values) * [ASP.NET Core Blazor event handling: `EventCallback` section](xref:blazor/components/event-handling#eventcallback) -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) diff --git a/aspnetcore/blazor/components/layouts.md b/aspnetcore/blazor/components/layouts.md index 477cd3db22..927032cbe0 100644 --- a/aspnetcore/blazor/components/layouts.md +++ b/aspnetcore/blazor/components/layouts.md @@ -389,4 +389,4 @@ To control the content in a layout from a child Razor component, see -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) diff --git a/aspnetcore/blazor/components/templated-components.md b/aspnetcore/blazor/components/templated-components.md index c6586d7fdb..cffcf5b7ae 100644 --- a/aspnetcore/blazor/components/templated-components.md +++ b/aspnetcore/blazor/components/templated-components.md @@ -201,4 +201,4 @@ When using generic-typed components, the type parameter is inferred if possible. ## Additional resources * -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) diff --git a/aspnetcore/blazor/file-downloads.md b/aspnetcore/blazor/file-downloads.md index 19363adba1..b0c93e2fed 100644 --- a/aspnetcore/blazor/file-downloads.md +++ b/aspnetcore/blazor/file-downloads.md @@ -211,4 +211,4 @@ For more information on CORS with ASP.NET Core apps and other Microsoft products * [``: The Anchor element: Security and privacy (MDN documentation)](https://developer.mozilla.org/docs/Web/HTML/Element/a#security_and_privacy) * * -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) diff --git a/aspnetcore/blazor/file-uploads.md b/aspnetcore/blazor/file-uploads.md index 6e7f0995f4..ffd4fbe45e 100644 --- a/aspnetcore/blazor/file-uploads.md +++ b/aspnetcore/blazor/file-uploads.md @@ -864,7 +864,7 @@ For more information on SignalR configuration and how to set * * -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) :::moniker-end @@ -872,6 +872,6 @@ For more information on SignalR configuration and how to set * -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) :::moniker-end diff --git a/aspnetcore/blazor/forms/index.md b/aspnetcore/blazor/forms/index.md index 0770cb3938..8e42cb9ea3 100644 --- a/aspnetcore/blazor/forms/index.md +++ b/aspnetcore/blazor/forms/index.md @@ -361,7 +361,7 @@ The following additional form examples are available for inspection in the [ASP. :::moniker range=">= aspnetcore-8.0" * -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) * [ASP.NET Core GitHub repository (`dotnet/aspnetcore`) forms test assets](https://github.com/dotnet/aspnetcore/tree/main/src/Components/test/testassets/Components.TestServer/RazorComponents/Pages/Forms) :::moniker-end @@ -372,7 +372,7 @@ The following additional form examples are available for inspection in the [ASP. * * * -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) * [ASP.NET Core GitHub repository (`dotnet/aspnetcore`) forms test assets](https://github.com/dotnet/aspnetcore/tree/main/src/Components/test/testassets/Components.TestServer/RazorComponents/Pages/Forms) :::moniker-end diff --git a/aspnetcore/blazor/fundamentals/dependency-injection.md b/aspnetcore/blazor/fundamentals/dependency-injection.md index 1a206ad1d0..fded089795 100644 --- a/aspnetcore/blazor/fundamentals/dependency-injection.md +++ b/aspnetcore/blazor/fundamentals/dependency-injection.md @@ -475,7 +475,7 @@ In spite of the scoped service registration in the `Program` file and the longev ### Detect client-side transient disposables -Custom code can be added to a client-side Blazor app to detect disposable transient services in an app that should use . This approach is useful if you're concerned that code added to the app in the future consumes one or more transient disposable services, including services added by libraries. Demonstration code is available in the [Blazor samples GitHub repository](https://github.com/dotnet/blazor-samples/tree/main). +Custom code can be added to a client-side Blazor app to detect disposable transient services in an app that should use . This approach is useful if you're concerned that code added to the app in the future consumes one or more transient disposable services, including services added by libraries. Demonstration code is available in the [Blazor samples GitHub repository](https://github.com/dotnet/blazor-samples/tree/main) ([how to download](xref:blazor/fundamentals/index#sample-apps)). Inspect the following in .NET 6 or later versions of the `BlazorSample_WebAssembly` sample: @@ -490,7 +490,7 @@ Inspect the following in .NET 6 or later versions of the `BlazorSample_WebAssemb ### Detect server-side transient disposables -Custom code can be added to a server-side Blazor app to detect server-side disposable transient services in an app that should use . This approach is useful if you're concerned that code added to the app in the future consumes one or more transient disposable services, including services added by libraries. Demonstration code is available in the [Blazor samples GitHub repository](https://github.com/dotnet/blazor-samples/tree/main). +Custom code can be added to a server-side Blazor app to detect server-side disposable transient services in an app that should use . This approach is useful if you're concerned that code added to the app in the future consumes one or more transient disposable services, including services added by libraries. Demonstration code is available in the [Blazor samples GitHub repository](https://github.com/dotnet/blazor-samples/tree/main) ([how to download](xref:blazor/fundamentals/index#sample-apps)). :::moniker-end @@ -526,7 +526,7 @@ Transient service registrations for // are also discovered. These instances can also be ignored. -The Blazor sample apps in the [Blazor samples GitHub repository](https://github.com/dotnet/blazor-samples/tree/main) demonstrate the code to detect transient disposables. However, the code is deactivated because the sample apps include / handlers. +The Blazor sample apps in the [Blazor samples GitHub repository](https://github.com/dotnet/blazor-samples/tree/main) ([how to download](xref:blazor/fundamentals/index#sample-apps)) demonstrate the code to detect transient disposables. However, the code is deactivated because the sample apps include / handlers. To activate the demonstration code and witness its operation: diff --git a/aspnetcore/blazor/fundamentals/environments.md b/aspnetcore/blazor/fundamentals/environments.md index df2ae131a7..3e33c3a1d4 100644 --- a/aspnetcore/blazor/fundamentals/environments.md +++ b/aspnetcore/blazor/fundamentals/environments.md @@ -282,4 +282,4 @@ The * -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) diff --git a/aspnetcore/blazor/fundamentals/handle-errors.md b/aspnetcore/blazor/fundamentals/handle-errors.md index 5af1978b09..2c482b2cfc 100644 --- a/aspnetcore/blazor/fundamentals/handle-errors.md +++ b/aspnetcore/blazor/fundamentals/handle-errors.md @@ -799,7 +799,7 @@ Consider manual render tree builder logic on the same level of complexity and wi * * † * -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) :::moniker-end @@ -808,7 +808,7 @@ Consider manual render tree builder logic on the same level of complexity and wi * * † * -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) :::moniker-end diff --git a/aspnetcore/blazor/fundamentals/index.md b/aspnetcore/blazor/fundamentals/index.md index 4d58c109b3..e5694fc885 100644 --- a/aspnetcore/blazor/fundamentals/index.md +++ b/aspnetcore/blazor/fundamentals/index.md @@ -161,17 +161,17 @@ Documentation sample apps are available for inspection and download: [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +Locate a sample app by first selecting the version folder that matches the version of .NET that you're working with. + :::moniker range=">= aspnetcore-8.0" Samples apps in the repository: - - * Blazor Web App * Blazor WebAssembly * Blazor Web App with EF Core () * Blazor Web App with SignalR () -* Blazor Web App with OIDC and Aspire +* Blazor Web App with OIDC and Aspire () * Blazor WebAssembly scopes-enabled logging () * Blazor WebAssembly with ASP.NET Core Identity () @@ -197,6 +197,11 @@ The ASP.NET Core repository's Basic Test App is also a helpful set of samples fo [!INCLUDE[](~/includes/aspnetcore-repo-ref-source-links.md)] +To download the sample apps: + +* Download the [Blazor samples repository](https://github.com/dotnet/blazor-samples) ZIP file. +* Unzip the file. + ## Byte multiples .NET byte sizes use metric prefixes for non-decimal multiples of bytes based on powers of 1024. diff --git a/aspnetcore/blazor/fundamentals/logging.md b/aspnetcore/blazor/fundamentals/logging.md index 0ac8f5c0b8..0b4435625a 100644 --- a/aspnetcore/blazor/fundamentals/logging.md +++ b/aspnetcore/blazor/fundamentals/logging.md @@ -594,7 +594,7 @@ Run the app again. Select the **`Log Messages`** button. Notice that the logging ## Client-side log scopes -The developer tools console logger doesn't support [log scopes](xref:fundamentals/logging/index#log-scopes). However, a [custom logger](#client-side-custom-logger-provider) can support log scopes. For an unsupported example that you can further develop to suit your needs, see the `BlazorWebAssemblyScopesLogger` sample app in the [Blazor samples GitHub repository](https://github.com/dotnet/blazor-samples). +The developer tools console logger doesn't support [log scopes](xref:fundamentals/logging/index#log-scopes). However, a [custom logger](#client-side-custom-logger-provider) can support log scopes. For an unsupported example that you can further develop to suit your needs, see the `BlazorWebAssemblyScopesLogger` sample app in the [Blazor samples GitHub repository](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)). The sample app uses standard ASP.NET Core logging syntax to indicate scopes for logged messages. The `Logger` service in the following example is an `ILogger`, which is injected into the app's `CustomLoggerExample` component (`CustomLoggerExample.razor`). @@ -859,4 +859,4 @@ Use ***either*** of the following approaches: * [Chrome DevTools](https://developer.chrome.com/docs/devtools/) * [Firefox Developer Tools](https://developer.mozilla.org/docs/Tools) * [Microsoft Edge Developer Tools overview](/microsoft-edge/devtools-guide-chromium/) -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) diff --git a/aspnetcore/blazor/fundamentals/signalr.md b/aspnetcore/blazor/fundamentals/signalr.md index eb524cd020..da706aa91e 100644 --- a/aspnetcore/blazor/fundamentals/signalr.md +++ b/aspnetcore/blazor/fundamentals/signalr.md @@ -164,7 +164,7 @@ To resolve the problem, use ***either*** of the following approaches: * * * -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) ## Use sticky sessions for server-side webfarm hosting @@ -1222,4 +1222,4 @@ Use a to c * [What is Azure SignalR Service?](/azure/azure-signalr/signalr-overview) * [Performance guide for Azure SignalR Service](/azure/azure-signalr/signalr-concept-performance) * -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) diff --git a/aspnetcore/blazor/images.md b/aspnetcore/blazor/images.md index 2d5dbef691..8f48a22626 100644 --- a/aspnetcore/blazor/images.md +++ b/aspnetcore/blazor/images.md @@ -143,4 +143,4 @@ The following `ShowImage2` component: * * * -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) diff --git a/aspnetcore/blazor/javascript-interoperability/call-dotnet-from-javascript.md b/aspnetcore/blazor/javascript-interoperability/call-dotnet-from-javascript.md index 572964c50b..e4cd9f2052 100644 --- a/aspnetcore/blazor/javascript-interoperability/call-dotnet-from-javascript.md +++ b/aspnetcore/blazor/javascript-interoperability/call-dotnet-from-javascript.md @@ -1604,6 +1604,6 @@ For more information, see * [`InteropComponent.razor` example (`dotnet/AspNetCore` GitHub repository `main` branch)](https://github.com/dotnet/AspNetCore/blob/main/src/Components/test/testassets/BasicTestApp/InteropComponent.razor): The `main` branch represents the product unit's current development for the next release of ASP.NET Core. To select the branch for a different release (for example, `release/5.0`), use the **Switch branches or tags** dropdown list to select the branch. * [Interaction with the DOM](xref:blazor/js-interop/index#interaction-with-the-dom) -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) * (*JavaScript interop* section) * [Threat mitigation: .NET methods invoked from the browser](xref:blazor/security/server/interactive-server-side-rendering#net-methods-invoked-from-the-browser) diff --git a/aspnetcore/blazor/javascript-interoperability/call-javascript-from-dotnet.md b/aspnetcore/blazor/javascript-interoperability/call-javascript-from-dotnet.md index 08e174e853..864d0868a3 100644 --- a/aspnetcore/blazor/javascript-interoperability/call-javascript-from-dotnet.md +++ b/aspnetcore/blazor/javascript-interoperability/call-javascript-from-dotnet.md @@ -1586,6 +1586,6 @@ For more information, see * [`InteropComponent.razor` example (`dotnet/AspNetCore` GitHub repository `main` branch)](https://github.com/dotnet/AspNetCore/blob/main/src/Components/test/testassets/BasicTestApp/InteropComponent.razor): The `main` branch represents the product unit's current development for the next release of ASP.NET Core. To select the branch for a different release (for example, `release/5.0`), use the **Switch branches or tags** dropdown list to select the branch. -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) * (*JavaScript interop* section) * [Threat mitigation: JavaScript functions invoked from .NET](xref:blazor/security/server/interactive-server-side-rendering#javascript-functions-invoked-from-net) diff --git a/aspnetcore/blazor/project-structure.md b/aspnetcore/blazor/project-structure.md index aa2ccdb6bb..4d528a6e51 100644 --- a/aspnetcore/blazor/project-structure.md +++ b/aspnetcore/blazor/project-structure.md @@ -633,7 +633,7 @@ To create an app that can run as either a Blazor Server app or a Blazor WebAssem * * * -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) :::moniker-end @@ -641,6 +641,6 @@ To create an app that can run as either a Blazor Server app or a Blazor WebAssem * * -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) :::moniker-end diff --git a/aspnetcore/blazor/security/server/blazor-web-app-with-oidc.md b/aspnetcore/blazor/security/server/blazor-web-app-with-oidc.md index 3658ab567d..2033f9820c 100644 --- a/aspnetcore/blazor/security/server/blazor-web-app-with-oidc.md +++ b/aspnetcore/blazor/security/server/blazor-web-app-with-oidc.md @@ -17,7 +17,7 @@ zone_pivot_groups: blazor-web-app-oidc-specification --> -This article describes how to secure a Blazor Web App with [OpenID Connect (OIDC)](https://openid.net/developers/how-connect-works/) using a sample app in the [`dotnet/blazor-samples` GitHub repository (.NET 8 or later)](https://github.com/dotnet/blazor-samples). +This article describes how to secure a Blazor Web App with [OpenID Connect (OIDC)](https://openid.net/developers/how-connect-works/) using a sample app in the [`dotnet/blazor-samples` GitHub repository (.NET 8 or later)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)). :::zone pivot="without-bff-pattern" @@ -39,7 +39,7 @@ The sample app consists of two projects: Access the sample apps through the latest version folder from the repository's root with the following link. The projects are in the `BlazorWebAppOidc` folder for .NET 8 or later. -[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:index#how-to-download-a-sample)) +[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) ## Server-side Blazor Web App project (`BlazorWebAppOidc`) @@ -257,7 +257,7 @@ The sample app consists of five projects: Access the sample apps through the latest version folder from the repository's root with the following link. The projects are in the `BlazorWebAppOidcBff` folder for .NET 8 or later. -[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:index#how-to-download-a-sample)) +[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) ## .NET Aspire projects diff --git a/aspnetcore/blazor/security/webassembly/standalone-with-identity.md b/aspnetcore/blazor/security/webassembly/standalone-with-identity.md index c1ce2fb595..7b53735039 100644 --- a/aspnetcore/blazor/security/webassembly/standalone-with-identity.md +++ b/aspnetcore/blazor/security/webassembly/standalone-with-identity.md @@ -98,7 +98,7 @@ In this article, sample apps serve as a reference for standalone Blazor WebAssem Access the sample apps through the latest version folder from the repository's root with the following link. The samples are provided for .NET 8 or later. See the `README` file in the `BlazorWebAssemblyStandaloneWithIdentity` folder for steps on how to run the sample apps. -[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:index#how-to-download-a-sample)) +[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) ## Backend web API app packages and code diff --git a/aspnetcore/blazor/tutorials/signalr-blazor.md b/aspnetcore/blazor/tutorials/signalr-blazor.md index 16c8325cb9..d118e3dd0c 100644 --- a/aspnetcore/blazor/tutorials/signalr-blazor.md +++ b/aspnetcore/blazor/tutorials/signalr-blazor.md @@ -53,7 +53,7 @@ The Visual Studio Code instructions use the .NET CLI for ASP.NET Core developmen Downloading the tutorial's sample chat app isn't required for this tutorial. The sample app is the final, working app produced by following the steps of this tutorial. -[View or download sample code](https://github.com/dotnet/blazor-samples) +[View or download sample code](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps)) :::moniker range=">= aspnetcore-8.0" @@ -874,4 +874,4 @@ For detailed guidance on the SignalR and Blazor frameworks, see the following re * * * -* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) +* [Blazor samples GitHub repository (`dotnet/blazor-samples`)](https://github.com/dotnet/blazor-samples) ([how to download](xref:blazor/fundamentals/index#sample-apps))