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
26 changes: 15 additions & 11 deletions .github/workflows/check-for-build-warnings.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,25 @@
name: 'Status checker'
name: 'OPS status checker'

on:
on:
pull_request_target:
types: [opened, synchronize, reopened]

permissions:
contents: read

jobs:
status_checker_job:
name: Look for build warnings
runs-on: ubuntu-latest
permissions:
statuses: write
issues: write
pull-requests: write
statuses: read
pull-requests: write
steps:
- uses: actions/checkout@v3
- uses: dotnet/docs-actions/actions/status-checker@main
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
docs_path: "aspnetcore"
url_base_path: "aspnet/core"
- name: Harden Runner
uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0
with:
egress-policy: audit

- uses: dotnet/docs-tools/actions/status-checker@455480c2e1c2fa90ecb711963250f000d66d3251 # main
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
25 changes: 25 additions & 0 deletions .github/workflows/generate-preview-links.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: 'Preview link generator'

on:
pull_request_target:
types: [opened, synchronize, reopened]

permissions:
contents: read

jobs:
preview_link_generator_job:
name: Generate preview link table
runs-on: ubuntu-latest
permissions:
statuses: read
pull-requests: write
steps:
- name: Harden Runner
uses: step-security/harden-runner@bf7454d06d71f1098171f2acdf0cd4708d7b5920 # v2.20.0
with:
egress-policy: audit

- uses: dotnet/docs-tools/actions/preview-link-generator@455480c2e1c2fa90ecb711963250f000d66d3251 # main
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion aspnetcore/blazor/forms/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ To disable the automatic header-based CSRF protection middleware, set the `Disab
}
```

The the `DisableCsrfProtection` configuration setting can be supplied by any configuration source, including via an environment variable (`DisableCsrfProtection=true`).
The `DisableCsrfProtection` configuration setting can be supplied by any configuration source, including via an environment variable (`DisableCsrfProtection=true`).

> [!WARNING]
> Disabling the automatic CSRF protection middleware removes the default header-based (`Sec-Fetch-Site`/`Origin`) protection for the entire app. Only disable it if you provide an alternative CSRF defense, such as explicitly adopting token-based antiforgery middleware by calling <xref:Microsoft.AspNetCore.Builder.AntiforgeryApplicationBuilderExtensions.UseAntiforgery%2A>.
Expand Down
2 changes: 1 addition & 1 deletion aspnetcore/blazor/security/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ To disable the automatic header-based CSRF protection middleware, set the `Disab
}
```

The the `DisableCsrfProtection` configuration setting can be supplied by any configuration source, including via an environment variable (`DisableCsrfProtection=true`).
The `DisableCsrfProtection` configuration setting can be supplied by any configuration source, including via an environment variable (`DisableCsrfProtection=true`).

> [!WARNING]
> Disabling the automatic CSRF protection middleware removes the default header-based (`Sec-Fetch-Site`/`Origin`) protection for the entire app. Only disable it if you provide an alternative CSRF defense, such as explicitly adopting token-based antiforgery middleware by calling <xref:Microsoft.AspNetCore.Builder.AntiforgeryApplicationBuilderExtensions.UseAntiforgery%2A>.
Expand Down
4 changes: 2 additions & 2 deletions aspnetcore/blazor/tutorials/movie-database-app/part-2.md
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ dotnet aspnet-codegenerator blazor CRUD -dbProvider sqlite -dc BlazorWebAppMovie

*CRUD* is an acronym for Create, Read, Update, and Delete. The `blazor` generator with the `CRUD` template produces create, edit, delete, details, and index components for the app.

The following table details the ASP.NET Core code generator options used in the preceding command:
The following details the ASP.NET Core code generator options used in the preceding command:

* `-dbProvider`: Database provider to use. Options include `sqlserver` (default), `sqlite`, `cosmos`, `postgres`.
* `-dc`: The <xref:Microsoft.EntityFrameworkCore.DbContext> class to use, including the namespace (`BlazorWebAppMovies.Data`).
Expand Down Expand Up @@ -361,7 +361,7 @@ dotnet aspnet-codegenerator blazor CRUD -dbProvider sqlite -dc BlazorWebAppMovie

*CRUD* is an acronym for Create, Read, Update, and Delete. The `blazor` generator with the `CRUD` template produces create, edit, delete, details, and index components for the app.

The following table details the ASP.NET Core code generator options used in the preceding command:
The following details the ASP.NET Core code generator options used in the preceding command:

* `-dbProvider`: Database provider to use. Options include `sqlserver` (default), `sqlite`, `cosmos`, `postgres`.
* `-dc`: The <xref:Microsoft.EntityFrameworkCore.DbContext> class to use, including the namespace (`BlazorWebAppMovies.Data`).
Expand Down
2 changes: 1 addition & 1 deletion aspnetcore/client-side/spa/angular.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ author: SteveSandersonMS
description: Learn how to get started with the ASP.NET Core Single Page Application (SPA) project template for Angular and the Angular CLI.
monikerRange: '>= aspnetcore-3.1'
ms.author: wpickett
ms.date: 07/09/2025
ms.date: 07/29/2026
ms.reviewer: stevesa
uid: spa/angular
---
Expand Down
2 changes: 1 addition & 1 deletion aspnetcore/diagnostics/aspdepr-ids.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ ASPDEPR diagnostics are similar to the [`SYSLIB` obsoletions](/dotnet/fundamenta

## ASPDEPR diagnostics

The following table lists the `ASPDEPR` deprecation diagnostics for ASP.NET Core:
The following table lists the `ASPDEPR` deprecation diagnostics for ASP.NET Core.

| Diagnostic ID | Description |
|-------------------------------------------|-----------------------------|
Expand Down
2 changes: 1 addition & 1 deletion aspnetcore/fundamentals/dependency-injection.md
Original file line number Diff line number Diff line change
Expand Up @@ -1092,7 +1092,7 @@ For examples of how to build modular and multitenant apps using just the Orchard

The `Program` file (.NET 6 or later) or the `Startup` file (.NET 5 or earlier) registers services that the app uses, including platform features, such as Entity Framework Core and services to support Razor components in Blazor (.NET 8 or later). Initially, the `IServiceCollection` has services defined by the framework depending on [how the host was configured](xref:fundamentals/index#host). For apps based on the ASP.NET Core templates, the framework registers more than 250 services.

The following table describes a small sample of framework-registered services:
The following table describes a small sample of framework-registered services.

Service type | Lifetime
--- | ---
Expand Down
9 changes: 5 additions & 4 deletions aspnetcore/fundamentals/host/generic-host.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ author: tdykstra
description: Use .NET Generic Host in ASP.NET Core apps. Generic Host is responsible for app startup and lifetime management.
monikerRange: '>= aspnetcore-3.1'
ms.author: tdykstra
ms.date: 04/22/2026
ms.date: 07/29/2026
uid: fundamentals/host/generic-host

# customer intent: As an ASP.NET developer, I want to explore the .NET Generic Host in ASP.NET Core, so I can configure startup and management for my web app.
Expand Down Expand Up @@ -521,7 +521,7 @@ webBuilder.UseSetting("https_port", "8080");

:::moniker-end

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

### HTTPS ports

Expand All @@ -533,11 +533,12 @@ Specifies the possible ports to listen on for HTTPS connections.
**Set using**: Configuration or `UseSetting`
**Environment variable**: `{PREFIX_}HTTPS_PORTS`

:::code language="csharp" source="generic-host/samples/6.x/GenericHostSample/Snippets/Program.cs" id="snippet_WebHostBuilderHttpsPorts":::
```csharp
webBuilder.UseSetting("https_ports", "8080");
```

:::moniker-end


### Prefer hosting URLs

Indicates whether the host should listen on the URLs configured with the `IWebHostBuilder` instead of URLs configured with the `IServer` implementation.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,10 +98,6 @@ public static void WebHostBuilder(WebHostBuilder webBuilder)
webBuilder.UseSetting("https_port", "8080");
// </snippet_WebHostBuilderHttpsPort>

// <snippet_WebHostBuilderHttpsPorts>
webBuilder.UseSetting("https_ports", "8080");
// </snippet_WebHostBuilderHttpsPorts>

// <snippet_WebHostBuilderPreferHostingUrls>
webBuilder.PreferHostingUrls(true);
// </snippet_WebHostBuilderPreferHostingUrls>
Expand Down
2 changes: 1 addition & 1 deletion aspnetcore/fundamentals/middleware/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -494,7 +494,7 @@ public class Startup
}
```

The following table shows the requests and responses from `http://localhost:1234` using the previous code:
The following table shows the requests and responses from `http://localhost:1234` using the previous code.

| Request | Response |
| ----------------------------- | ---------------------------- |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ For more information, see <xref:fundamentals/index?view=aspnetcore-6.0>

### Change the content root, app name, and environment by environment variables or command line

The following table shows the environment variable and command-line argument used to change the content root, app name, and environment:
The following table shows the environment variable and command-line argument used to change the content root, app name, and environment.

| feature | Environment variable | Command-line argument |
| ------------- | ------------- | -- |
Expand Down Expand Up @@ -363,7 +363,7 @@ app.MapGet("/posts/{slug:regex(^[a-z0-9_-]+$)}", (string slug) => $"Post {slug}"
app.Run();
```

The following table demonstrates the preceding route templates and their behavior:
The following table demonstrates the preceding route templates and their behavior.

| Route Template | Example Matching URI |
|--|--|
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ app.MapGet("/posts/{slug:regex(^[a-z0-9_-]+$)}", (string slug) => $"Post {slug}"
app.Run();
```

The following table demonstrates the preceding route templates and their behavior:
The following table demonstrates the preceding route templates and their behavior.

| Route template | Example matching URI |
|---|---|
Expand Down
Loading
Loading