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
25 changes: 20 additions & 5 deletions .openpublishing.redirection.json
Original file line number Diff line number Diff line change
Expand Up @@ -802,12 +802,12 @@
},
{
"source_path": "aspnetcore/razor-components/get-started.md",
"redirect_url": "https://dotnet.microsoft.com/learn/aspnet/blazor-tutorial/intro",
"redirect_url": "/aspnet/core/blazor/tutorials/",
"redirect_document_id": false
},
{
"source_path": "aspnetcore/client-side/spa/blazor/get-started.md",
"redirect_url": "https://dotnet.microsoft.com/learn/aspnet/blazor-tutorial/intro",
"redirect_url": "/aspnet/core/blazor/tutorials/",
"redirect_document_id": false
},
{
Expand Down Expand Up @@ -882,7 +882,7 @@
},
{
"source_path": "aspnetcore/tutorials/build-your-first-razor-components-app.md",
"redirect_url": "/aspnet/core/tutorials/build-a-blazor-app",
"redirect_url": "/aspnet/core/blazor/tutorials/",
"redirect_document_id": false
},
{
Expand Down Expand Up @@ -1087,12 +1087,12 @@
},
{
"source_path": "aspnetcore/tutorials/build-your-first-blazor-app.md",
"redirect_url": "https://dotnet.microsoft.com/learn/aspnet/blazor-tutorial/intro",
"redirect_url": "/aspnet/core/blazor/tutorials/",
"redirect_document_id": false
},
{
"source_path": "aspnetcore/blazor/get-started.md",
"redirect_url": "https://dotnet.microsoft.com/learn/aspnet/blazor-tutorial/intro",
"redirect_url": "/aspnet/core/blazor/tutorials/",
"redirect_document_id": false
},
{
Expand Down Expand Up @@ -1158,6 +1158,21 @@
"source_path": "aspnetcore/blazor/webassembly-performance-best-practices.md",
"redirect_url": "/aspnet/core/blazor/performance",
"redirect_document_id": false
},
{
"source_path": "aspnetcore/blazor/tutorials.md",
"redirect_url": "/aspnet/core/blazor/tutorials/",
"redirect_document_id": false
},
{
"source_path": "aspnetcore/tutorials/build-a-blazor-app.md",
"redirect_url": "/aspnet/core/blazor/tutorials/build-a-blazor-app",
"redirect_document_id": false
},
{
"source_path": "aspnetcore/tutorials/signalr-blazor.md",
"redirect_url": "/aspnet/core/blazor/tutorials/signalr-blazor",
"redirect_document_id": false
}
]
}
8 changes: 4 additions & 4 deletions aspnetcore/blazor/debug.md
Original file line number Diff line number Diff line change
Expand Up @@ -582,7 +582,7 @@ If Microsoft Edge is used for debugging instead of Google Chrome, the `.vscode/l
"browser": "edge"
```

The `.vscode/tasks.json` file adds the **`Server`** app's project file path to the `dotnet build` arguments under `args`. The **`Server`** project's folder is typically named `Server` in a solution based on the hosted Blazor WebAssembly project template. The following example uses the project file for the **`Server`** app of the [Blazor-SignalR tutorial](xref:tutorials/signalr-blazor)), which has a project file named `BlazorWebAssemblySignalRApp.Server.csproj`:
The `.vscode/tasks.json` file adds the **`Server`** app's project file path to the `dotnet build` arguments under `args`. The **`Server`** project's folder is typically named `Server` in a solution based on the hosted Blazor WebAssembly project template. The following example uses the project file for the **`Server`** app of the [Blazor-SignalR tutorial](xref:blazor/tutorials/signalr-blazor), which has a project file named `BlazorWebAssemblySignalRApp.Server.csproj`:

```json
{
Expand All @@ -603,7 +603,7 @@ The `.vscode/tasks.json` file adds the **`Server`** app's project file path to t
}
```

The **`Server`** project's `Properties/launchSettings.json` file includes the `inspectUri` property for the debugging proxy. The following example names the launch profile for the **`Server`** app of the [Blazor-SignalR tutorial](xref:tutorials/signalr-blazor)), which is `BlazorWebAssemblySignalRApp.Server`:
The **`Server`** project's `Properties/launchSettings.json` file includes the `inspectUri` property for the debugging proxy. The following example names the launch profile for the **`Server`** app of the [Blazor-SignalR tutorial](xref:blazor/tutorials/signalr-blazor), which is `BlazorWebAssemblySignalRApp.Server`:

```json
{
Expand Down Expand Up @@ -997,7 +997,7 @@ If Microsoft Edge is used for debugging instead of Google Chrome, the `.vscode/l
"browser": "edge"
```

The `.vscode/tasks.json` file adds the **`Server`** app's project file path to the `dotnet build` arguments under `args`. The **`Server`** project's folder is typically named `Server` in a solution based on the hosted Blazor WebAssembly project template. The following example uses the project file for the **`Server`** app of the [Blazor-SignalR tutorial](xref:tutorials/signalr-blazor)), which has a project file named `BlazorWebAssemblySignalRApp.Server.csproj`:
The `.vscode/tasks.json` file adds the **`Server`** app's project file path to the `dotnet build` arguments under `args`. The **`Server`** project's folder is typically named `Server` in a solution based on the hosted Blazor WebAssembly project template. The following example uses the project file for the **`Server`** app of the [Blazor-SignalR tutorial](xref:blazor/tutorials/signalr-blazor), which has a project file named `BlazorWebAssemblySignalRApp.Server.csproj`:

```json
{
Expand All @@ -1018,7 +1018,7 @@ The `.vscode/tasks.json` file adds the **`Server`** app's project file path to t
}
```

The **`Server`** project's `Properties/launchSettings.json` file includes the `inspectUri` property for the debugging proxy. The following example names the launch profile for the **`Server`** app of the [Blazor-SignalR tutorial](xref:tutorials/signalr-blazor)), which is `BlazorWebAssemblySignalRApp.Server`:
The **`Server`** project's `Properties/launchSettings.json` file includes the `inspectUri` property for the debugging proxy. The following example names the launch profile for the **`Server`** app of the [Blazor-SignalR tutorial](xref:blazor/tutorials/signalr-blazor), which is `BlazorWebAssemblySignalRApp.Server`:

```json
{
Expand Down
12 changes: 6 additions & 6 deletions aspnetcore/blazor/fundamentals/signalr.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ uid: blazor/fundamentals/signalr

This article explains how to configure and manage SignalR connections in Blazor apps.

For general guidance on ASP.NET Core SignalR configuration, see the topics in the <xref:signalr/introduction> area of the documentation. To configure SignalR [added to a hosted Blazor WebAssembly solution](xref:tutorials/signalr-blazor), see <xref:signalr/configuration#configure-server-options>.
For general guidance on ASP.NET Core SignalR configuration, see the topics in the <xref:signalr/introduction> area of the documentation. To configure SignalR [added to a hosted Blazor WebAssembly solution](xref:blazor/tutorials/signalr-blazor), see <xref:signalr/configuration#configure-server-options>.

## SignalR cross-origin negotiation for authentication (Blazor WebAssembly)

Expand Down Expand Up @@ -57,7 +57,7 @@ To configure SignalR's underlying client to send credentials, such as cookies or
}).Build();
```

The preceding example configures the hub connection URL to the absolute URI address at `/chathub`, which is the URL used in the [SignalR with Blazor tutorial](xref:tutorials/signalr-blazor) in the `Index` component (`Pages/Index.razor`). The URI can also be set via a string, for example `https://signalr.example.com`, or via [configuration](xref:blazor/fundamentals/configuration).
The preceding example configures the hub connection URL to the absolute URI address at `/chathub`, which is the URL used in the [SignalR with Blazor tutorial](xref:blazor/tutorials/signalr-blazor) in the `Index` component (`Pages/Index.razor`). The URI can also be set via a string, for example `https://signalr.example.com`, or via [configuration](xref:blazor/fundamentals/configuration).

For more information, see <xref:signalr/configuration#configure-additional-options>.

Expand Down Expand Up @@ -330,7 +330,7 @@ When a circuit ends because a user has disconnected and the framework is cleanin

This article explains how to configure and manage SignalR connections in Blazor apps.

For general guidance on ASP.NET Core SignalR configuration, see the topics in the <xref:signalr/introduction> area of the documentation. To configure SignalR [added to a hosted Blazor WebAssembly solution](xref:tutorials/signalr-blazor), see <xref:signalr/configuration#configure-server-options>.
For general guidance on ASP.NET Core SignalR configuration, see the topics in the <xref:signalr/introduction> area of the documentation. To configure SignalR [added to a hosted Blazor WebAssembly solution](xref:blazor/tutorials/signalr-blazor), see <xref:signalr/configuration#configure-server-options>.

## SignalR cross-origin negotiation for authentication (Blazor WebAssembly)

Expand Down Expand Up @@ -372,7 +372,7 @@ To configure SignalR's underlying client to send credentials, such as cookies or
}).Build();
```

The preceding example configures the hub connection URL to the absolute URI address at `/chathub`, which is the URL used in the [SignalR with Blazor tutorial](xref:tutorials/signalr-blazor) in the `Index` component (`Pages/Index.razor`). The URI can also be set via a string, for example `https://signalr.example.com`, or via [configuration](xref:blazor/fundamentals/configuration).
The preceding example configures the hub connection URL to the absolute URI address at `/chathub`, which is the URL used in the [SignalR with Blazor tutorial](xref:blazor/tutorials/signalr-blazor) in the `Index` component (`Pages/Index.razor`). The URI can also be set via a string, for example `https://signalr.example.com`, or via [configuration](xref:blazor/fundamentals/configuration).

For more information, see <xref:signalr/configuration#configure-additional-options>.

Expand Down Expand Up @@ -649,7 +649,7 @@ When a circuit ends because a user has disconnected and the framework is cleanin

This article explains how to configure and manage SignalR connections in Blazor apps.

For general guidance on ASP.NET Core SignalR configuration, see the topics in the <xref:signalr/introduction> area of the documentation. To configure SignalR [added to a hosted Blazor WebAssembly solution](xref:tutorials/signalr-blazor), see <xref:signalr/configuration#configure-server-options>.
For general guidance on ASP.NET Core SignalR configuration, see the topics in the <xref:signalr/introduction> area of the documentation. To configure SignalR [added to a hosted Blazor WebAssembly solution](xref:blazor/tutorials/signalr-blazor), see <xref:signalr/configuration#configure-server-options>.

## SignalR cross-origin negotiation for authentication (Blazor WebAssembly)

Expand Down Expand Up @@ -691,7 +691,7 @@ To configure SignalR's underlying client to send credentials, such as cookies or
}).Build();
```

The preceding example configures the hub connection URL to the absolute URI address at `/chathub`, which is the URL used in the [SignalR with Blazor tutorial](xref:tutorials/signalr-blazor) in the `Index` component (`Pages/Index.razor`). The URI can also be set via a string, for example `https://signalr.example.com`, or via [configuration](xref:blazor/fundamentals/configuration).
The preceding example configures the hub connection URL to the absolute URI address at `/chathub`, which is the URL used in the [SignalR with Blazor tutorial](xref:blazor/tutorials/signalr-blazor) in the `Index` component (`Pages/Index.razor`). The URI can also be set via a string, for example `https://signalr.example.com`, or via [configuration](xref:blazor/fundamentals/configuration).

For more information, see <xref:signalr/configuration#configure-additional-options>.

Expand Down
4 changes: 2 additions & 2 deletions aspnetcore/blazor/hosting-models.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ Blazor WebAssembly (WASM) apps run client-side in the browser on a WebAssembly-b

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. When the app is created for deployment with a backend 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) (<xref:tutorials/signalr-blazor>).
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) (<xref:blazor/tutorials/signalr-blazor>).

The `blazor.webassembly.js` script is provided by the framework and handles:

Expand Down Expand Up @@ -112,4 +112,4 @@ After you choose the app's hosting model, you can generate an app from a Blazor
* <xref:blazor/project-structure>
* <xref:signalr/introduction>
* <xref:blazor/fundamentals/signalr>
* <xref:tutorials/signalr-blazor>
* <xref:blazor/tutorials/signalr-blazor>
2 changes: 1 addition & 1 deletion aspnetcore/blazor/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ APIs that aren't applicable inside of a web browser (for example, accessing the

* [WebAssembly](https://webassembly.org)
* <xref:blazor/hosting-models>
* <xref:tutorials/signalr-blazor>
* <xref:blazor/tutorials/signalr-blazor>
* <xref:blazor/js-interop/call-javascript-from-dotnet>
* <xref:blazor/js-interop/call-dotnet-from-javascript>
* [mono/mono GitHub repository](https://github.com/mono/mono)
Expand Down
4 changes: 2 additions & 2 deletions aspnetcore/blazor/javascript-interoperability/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Blazor JavaScript interoperability (JS interop)
title: ASP.NET Core Blazor JavaScript interoperability (JS interop)
author: guardrex
description: Learn how to interact with JavaScript in Blazor apps.
monikerRange: '>= aspnetcore-3.1'
Expand All @@ -9,7 +9,7 @@ ms.date: 11/09/2021
no-loc: [Home, Privacy, Kestrel, appsettings.json, "ASP.NET Core Identity", cookie, Cookie, Blazor, "Blazor Server", "Blazor WebAssembly", "Identity", "Let's Encrypt", Razor, SignalR, JS, Promise]
uid: blazor/js-interop/index
---
# Blazor JavaScript interoperability (JS interop)
# ASP.NET Core Blazor JavaScript interoperability (JS interop)

:::moniker range=">= aspnetcore-6.0"

Expand Down
4 changes: 2 additions & 2 deletions aspnetcore/blazor/tooling.md
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,7 @@ For more information on trusting the ASP.NET Core HTTPS development certificate,
* The `{SERVER APP FOLDER}` placeholder is the **`Server`** project's folder, typically "`Server`".
* The `{PROJECT NAME}` placeholder is the app's name, typically based on the solution's name followed by "`.Server`" in an app generated from the [Blazor project template](xref:blazor/project-structure).

The following example from the [tutorial for using SignalR with a Blazor WebAssembly app](xref:tutorials/signalr-blazor) uses a project folder name of `Server` and a project name of `BlazorWebAssemblySignalRApp.Server`:
The following example from the [tutorial for using SignalR with a Blazor WebAssembly app](xref:blazor/tutorials/signalr-blazor) uses a project folder name of `Server` and a project name of `BlazorWebAssemblySignalRApp.Server`:

```json
...
Expand Down Expand Up @@ -693,7 +693,7 @@ When executing a hosted Blazor WebAssembly app, run the app from the solution's
* The `{SERVER APP FOLDER}` placeholder is the **`Server`** project's folder, typically "`Server`".
* The `{PROJECT NAME}` placeholder is the app's name, typically based on the solution's name followed by "`.Server`" in an app generated from the [Blazor project template](xref:blazor/project-structure).

The following example from the [tutorial for using SignalR with a Blazor WebAssembly app](xref:tutorials/signalr-blazor) uses a project folder name of `Server` and a project name of `BlazorWebAssemblySignalRApp.Server`:
The following example from the [tutorial for using SignalR with a Blazor WebAssembly app](xref:blazor/tutorials/signalr-blazor) uses a project folder name of `Server` and a project name of `BlazorWebAssemblySignalRApp.Server`:

```json
...
Expand Down
54 changes: 0 additions & 54 deletions aspnetcore/blazor/tutorials.md

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ ms.author: riande
ms.custom: mvc
ms.date: 11/09/2021
no-loc: [Home, Privacy, Kestrel, appsettings.json, "ASP.NET Core Identity", cookie, Cookie, Blazor, "Blazor Server", "Blazor WebAssembly", "Identity", "Let's Encrypt", Razor, SignalR]
uid: tutorials/build-a-blazor-app
uid: blazor/tutorials/build-a-blazor-app
zone_pivot_groups: blazor-hosting-models
---
# Build a Blazor todo list app
Expand Down
24 changes: 24 additions & 0 deletions aspnetcore/blazor/tutorials/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: ASP.NET Core Blazor tutorials
author: guardrex
description: Learn how to build Blazor apps with the tutorials described by this article.
monikerRange: '>= aspnetcore-3.1'
ms.author: riande
ms.custom: mvc
ms.date: 02/10/2022
no-loc: [Home, Privacy, Kestrel, appsettings.json, "ASP.NET Core Identity", cookie, Cookie, Blazor, "Blazor Server", "Blazor WebAssembly", "Identity", "Let's Encrypt", Razor, SignalR, JS, Promise]
uid: blazor/tutorials/index
---
# ASP.NET Core Blazor tutorials

The following tutorials are available for ASP.NET Core Blazor:

* [Build your first Blazor app](https://dotnet.microsoft.com/learn/aspnet/blazor-tutorial/intro) (Blazor Server)

* <xref:blazor/tutorials/build-a-blazor-app> (Blazor Server or Blazor WebAssembly)

* <xref:blazor/tutorials/signalr-blazor> (Blazor Server or Blazor WebAssembly)

* [Microsoft Learn modules](/learn/paths/build-web-apps-with-blazor/)

For more information on Blazor hosting models, Blazor Server and Blazor WebAssembly, see <xref:blazor/hosting-models>.
Loading