Skip to content

Merge main into live #46832

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Jun 17, 2025
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
8 changes: 6 additions & 2 deletions .openpublishing.redirection.core.json
Original file line number Diff line number Diff line change
Expand Up @@ -103,11 +103,15 @@
},
{
"source_path_from_root": "/docs/core/compatibility/core-libraries/8.0/indexofanyvalues-renamed.md",
"redirect_url": "/dotnet/core/compatibility/serialization/8.0"
"redirect_url": "/dotnet/core/compatibility/8.0"
},
{
"source_path_from_root": "/docs/core/compatibility/core-libraries/8.0/optimizeforreading-arg.md",
"redirect_url": "/dotnet/core/compatibility/serialization/8.0"
"redirect_url": "/dotnet/core/compatibility/8.0"
},
{
"source_path_from_root": "/docs/core/compatibility/deployment/9.0/assembly-load-directory.md",
"redirect_url": "/dotnet/core/compatibility/9.0"
},
{
"source_path_from_root": "/docs/core/compatibility/extensions/6.0/bind-single-elements-to-array.md",
Expand Down
20 changes: 10 additions & 10 deletions .openpublishing.redirection.csharp.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
},
{
"source_path_from_root": "/redirections/proposals/csharp-7.0/pattern-matching.md",
"redirect_url": "/dotnet/csharp/language-reference/language-specification/patterns.md"
"redirect_url": "/dotnet/csharp/language-reference/language-specification/patterns"
},
{
"source_path_from_root": "/redirections/proposals/csharp-7.0/task-types.md",
Expand Down Expand Up @@ -110,7 +110,7 @@
},
{
"source_path_from_root": "/redirections/proposals/csharp-8.0/nullable-reference-types.md",
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types.md#893-nullable-reference-types"
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types"
},
{
"source_path_from_root": "/redirections/proposals/csharp-8.0/nested-stackalloc.md",
Expand All @@ -126,11 +126,11 @@
},
{
"source_path_from_root": "/redirections/proposals/csharp-8.0/async-streams.md",
"redirect_url": "/dotnet/csharp/language-reference/language-specification/statements.md#13953-await-foreach"
"redirect_url": "/dotnet/csharp/language-reference/language-specification/statements#13953-await-foreach"
},
{
"source_path_from_root": "/redirections/proposals/csharp-9.0/nullable-reference-types-specification.md",
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types.md#893-nullable-reference-types"
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types"
},
{
"source_path_from_root": "/redirections/proposals/csharp-10.0/generic-attributes.md",
Expand Down Expand Up @@ -1400,27 +1400,27 @@
},
{
"source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-8.0/index.md",
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types.md#893-nullable-reference-types"
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types"
},
{
"source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-8.0/static-local-functions.md",
"redirect_url": "/dotnet/csharp/language-reference/language-specification/statements.md#1364-local-function-declarations"
"redirect_url": "/dotnet/csharp/language-reference/language-specification/statements#1364-local-function-declarations"
},
{
"source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-8.0/nullable-reference-types.md",
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types.md#893-nullable-reference-types"
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types"
},
{
"source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-9.0/nullable-reference-types-specification.md",
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types.md#893-nullable-reference-types"
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types"
},
{
"source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-9.0/nullable-constructor-analysis.md",
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types.md#893-nullable-reference-types"
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types"
},
{
"source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-9.0/nullable-parameter-default-value-analysis.md",
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types.md#893-nullable-reference-types"
"redirect_url": "/dotnet/csharp/language-reference/language-specification/types#893-nullable-reference-types"
},
{
"source_path_from_root": "/docs/csharp/language-reference/proposals/csharp-9.0/index.md",
Expand Down
30 changes: 25 additions & 5 deletions docfx.json
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@
"ms.author": "dotnetcontent",
"ms.devlang": "dotnet",
"ms.service": "dotnet",
"ms.topic": "conceptual",
"ms.topic": "article",
"searchScope": [
".NET"
],
Expand Down Expand Up @@ -259,7 +259,9 @@
"_csharplang/**/*.md": "language-reference",
"_csharpstandard/**/*.md": "language-reference",
"_vblang/spec/*.md": "language-reference",
"docs/azure/**/**.md": "conceptual",
"docs/architecture/**/*.md": "concept-article",
"docs/azure/migration/**/*.md": "upgrade-and-migration-article",
"docs/core/compatibility/**/*.md": "concept-article",
"docs/core/deploying/native-aot/warnings/**.md": "error-reference",
"docs/core/deploying/single-file/warnings/**.md": "error-reference",
"docs/core/deploying/trimming/trim-warnings/**.md": "error-reference",
Expand All @@ -268,22 +270,28 @@
"docs/core/tools/sdk-errors/*.md": "error-reference",
"docs/core/testing/mstest-analyzers/*.md": "error-reference",
"docs/core/tutorials/**.md": "tutorial",
"docs/core/unmanaged-api/**/*.md": "reference",
"docs/core/whats-new/**/*.md": "whats-new",
"docs/csharp/advanced-topics/interface-implementation/**.md": "tutorial",
"docs/csharp/getting-started/**/*.md": "overview",
"docs/csharp/how-to/**/*.md": "how-to",
"docs/csharp/language-reference/**/*.md": "language-reference",
"docs/csharp/language-reference/compiler-messages/*.md": "error-reference",
"docs/csharp/linq/*.md": "how-to",
"docs/csharp/misc/*.md": "error-reference",
"docs/csharp/programming-guide/**": "conceptual",
"docs/csharp/programming-guide/**": "article",
"docs/csharp/roslyn-sdk/get-started/*.md": "tutorial",
"docs/csharp/roslyn-sdk/tutorials/*.md": "tutorial",
"docs/csharp/tour-of-csharp/*.md": "overview",
"docs/csharp/tour-of-csharp/tutorials/**": "tutorial",
"docs/csharp/tutorials/**": "tutorial",
"docs/framework/additional-apis/**/**.md": "reference",
"docs/framework/app-domains/**/*.md": "concept-article",
"docs/framework/configure-apps/file-schema/**/**.md": "reference",
"docs/framework/data/adonet/ef/language-reference/*-entity-sql.md": "language-reference",
"docs/framework/debug-trace-profile/*-mda.md": "reference",
"docs/framework/performance/*-etw-events.md": "reference",
"docs/framework/release-notes/**.md": "release-notes",
"docs/framework/tools/**/**.md": "reference",
"docs/framework/unmanaged-api/**/**.md": "reference",
"docs/framework/wcf/diagnostics/etw/**.md": "reference",
Expand All @@ -296,16 +304,28 @@
"docs/framework/**/how-to*.md": "how-to",
"docs/framework/**/troubleshooting*.md": "troubleshooting",
"docs/fsharp/language-reference/**/**.md": "language-reference",
"docs/iot/**/*.*": "conceptual",
"docs/fsharp/tutorials/*.md": "tutorial",
"docs/fsharp/get-started/**/*.md": "get-started",
"docs/fundamentals/**/how-to*.md": "how-to",
"docs/fundamentals/apicompat/package-validation/**.md": "how-to",
"docs/fundamentals/code-analysis/quality-rules/**.md": "error-reference",
"docs/fundamentals/code-analysis/style-rules/**.md": "error-reference",
"docs/fundamentals/diagnostics/runtime-*.md": "reference",
"docs/fundamentals/syslib-diagnostics/**/*.md": "error-reference",
"docs/standard/**/*how-to*.md": "how-to",
"docs/orleans/tutorials-and-samples/**.md": "tutorial",
"docs/samples-and-tutorials/*.md": "tutorial",
"docs/standard/**/how-to*.md": "how-to",
"docs/standard/base-types/*.md": "how-to",
"docs/standard/design-guidelines": "concept-article",
"docs/standard/serialization/binaryformatter-migration-guide/**.md": "upgrade-and-migration-article",
"docs/visual-basic/developing-apps/**/*.md": "how-to",
"docs/visual-basic/language-reference/**/*.md": "language-reference",
"docs/visual-basic/reference/**/*.md": "language-reference",
"docs/visual-basic/misc/bc*.md": "error-reference",
"docs/visual-basic/programming-guide/**/how-to*.md": "how-to",
"docs/visual-basic/programming-guide/**/troubleshooting*.md": "troubleshooting",
"docs/visual-basic/programming-guide/concepts/**/*.md": "concept-article",
"docs/visual-basic/programming-guide/language-features/constants-enums/*.md": "concept-article",
"docs/visual-basic/**/troubleshooting*.md": "troubleshooting",
"docs/windows-workflow-foundation/1*.md": "error-reference",
"docs/windows-workflow-foundation/2*.md": "error-reference",
Expand Down
2 changes: 1 addition & 1 deletion docs/ai/azure-ai-services-authentication.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Authenticate to Azure OpenAI using .NET
description: Learn about the different options to authenticate to Azure OpenAI and other services using .NET
author: alexwolfmsft
ms.topic: conceptual
ms.topic: concept-article
ms.date: 04/09/2025
---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,12 @@ It's challenging enough to design and deploy a microservices-based application.

The many individual components of your application should also incorporate health monitoring features. By following the guidelines in this chapter, you can create an application that can work smoothly in spite of transient downtime or the normal hiccups that occur in complex and cloud-based deployments.

>[!IMPORTANT]
> eShopOnContainer had been using the [Polly library](https://thepollyproject.azurewebsites.net/) to implement resiliency using [Typed Clients](./use-httpclientfactory-to-implement-resilient-http-requests.md) up until the release 3.0.0.
>
> Starting with release 3.0.0, the HTTP calls resiliency is implemented using a [Linkerd mesh](https://linkerd.io/), that handles retries in a transparent and configurable fashion, within a Kubernetes cluster, without having to handle those concerns in the code.
> [!IMPORTANT]
> eShopOnContainer had been using the [Polly library](https://www.pollydocs.org/) to implement resiliency using [Typed Clients](./use-httpclientfactory-to-implement-resilient-http-requests.md) up until the release 3.0.0. Starting with release 3.0.0, the HTTP calls resiliency is implemented using a [Linkerd mesh](https://linkerd.io/), which handles retries in a transparent and configurable fashion within a Kubernetes cluster, without having to handle those concerns in the code.
>
> The Polly library is still used to add resilience to database connections, specially while starting up the services.

>[!WARNING]
> [!WARNING]
> All code samples and images in this section were valid before using Linkerd and are not updated to reflect the current actual code. So they make sense in the context of this section.

>[!div class="step-by-step"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ To deal with partial failures, use one of the strategies described here.

**Provide fallbacks**. In this approach, the client process performs fallback logic when a request fails, such as returning cached data or a default value. This is an approach suitable for queries, and is more complex for updates or commands.

**Limit the number of queued requests**. Clients should also impose an upper bound on the number of outstanding requests that a client microservice can send to a particular service. If the limit has been reached, it's probably pointless to make additional requests, and those attempts should fail immediately. In terms of implementation, the Polly [Bulkhead Isolation](https://github.com/App-vNext/Polly/wiki/Bulkhead) policy can be used to fulfill this requirement. This approach is essentially a parallelization throttle with <xref:System.Threading.SemaphoreSlim> as the implementation. It also permits a "queue" outside the bulkhead. You can proactively shed excess load even before execution (for example, because capacity is deemed full). This makes its response to certain failure scenarios faster than a circuit breaker would be, since the circuit breaker waits for the failures. The BulkheadPolicy object in [Polly](https://thepollyproject.azurewebsites.net/) exposes how full the bulkhead and queue are, and offers events on overflow so can also be used to drive automated horizontal scaling.
**Limit the number of queued requests**. Clients should also impose an upper bound on the number of outstanding requests that a client microservice can send to a particular service. If the limit has been reached, it's probably pointless to make additional requests, and those attempts should fail immediately. In terms of implementation, the Polly [Bulkhead Isolation](https://github.com/App-vNext/Polly/wiki/Bulkhead) policy can be used to fulfill this requirement. This approach is essentially a parallelization throttle with <xref:System.Threading.SemaphoreSlim> as the implementation. It also permits a "queue" outside the bulkhead. You can proactively shed excess load even before execution (for example, because capacity is deemed full). This makes its response to certain failure scenarios faster than a circuit breaker would be, since the circuit breaker waits for the failures. The BulkheadPolicy object in [Polly](https://www.pollydocs.org/) exposes how full the bulkhead and queue are, and offers events on overflow so can also be used to drive automated horizontal scaling.

## Additional resources

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ To address the issues mentioned above and to make `HttpClient` instances managea

The alternative is to use `SocketsHttpHandler` with configured `PooledConnectionLifetime`. This approach is applied to long-lived, `static` or singleton `HttpClient` instances. To learn more about different strategies, see [HttpClient guidelines for .NET](../../../fundamentals/networking/http/httpclient-guidelines.md).

[Polly](https://thepollyproject.azurewebsites.net/) is a transient-fault-handling library that helps developers add resiliency to their applications, by using some pre-defined policies in a fluent and thread-safe manner.
[Polly](https://www.pollydocs.org/) is a transient-fault-handling library that helps developers add resiliency to their applications, by using some pre-defined policies in a fluent and thread-safe manner.

## Benefits of using IHttpClientFactory

Expand Down Expand Up @@ -204,7 +204,7 @@ Up to this point, the above code snippet only shows the example of performing re
<https://github.com/dotnet/runtime/tree/release/7.0/src/libraries/Microsoft.Extensions.Http/>

- **Polly (.NET resilience and transient-fault-handling library)**
<https://thepollyproject.azurewebsites.net/>
<https://www.pollydocs.org/>

>[!div class="step-by-step"]
>[Previous](implement-resilient-entity-framework-core-sql-connections.md)
Expand Down
2 changes: 1 addition & 1 deletion docs/azure/azure-tools.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Additional Azure Tools
description: This article describes additional tools and utilities for working with Azure and how you can install them.
ms.topic: conceptual
ms.topic: concept-article
ms.custom: devx-track-dotnet, engagement-fy23, devx-track-azurepowershell
ms.date: 8/15/2024
author: alexwolfmsft
Expand Down
2 changes: 1 addition & 1 deletion docs/azure/configure-visual-studio.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Configure Visual Studio for Azure Development with .NET
description: This article helps you configure Visual Studio for Azure development including getting the right workloads installed and connecting Visual Studio to your Azure account.
ms.topic: conceptual
ms.topic: concept-article
ms.custom: devx-track-dotnet, engagement-fy23
ms.date: 3/20/2025
author: alexwolfmsft
Expand Down
2 changes: 1 addition & 1 deletion docs/azure/configure-vs-code.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Configure Visual Studio Code for Azure development with .NET
description: This article helps you configure Visual Studio Code for Azure development including getting the right plugins installed and configured in VS Code
ms.topic: conceptual
ms.topic: concept-article
ms.custom: devx-track-dotnet, vscode-azure-extension-update-completed, engagement-fy23
ms.date: 8/15/2024
author: alexwolfmsft
Expand Down
2 changes: 1 addition & 1 deletion docs/azure/create-azure-account.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Create an Azure account
description: To use Azure, you need an Azure account. This article covers the three most common ways to sign up for an Azure account.
ms.topic: conceptual
ms.topic: concept-article
ms.custom: devx-track-dotnet, engagement-fy23
ms.date: 8/15/2024
author: alexwolfmsft
Expand Down
2 changes: 1 addition & 1 deletion docs/azure/dotnet-dev-env-checklist.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: .NET Development on Azure Configuration Checklist
description: Provides a quick summary of all the tools you should have installed to do .NET development with Azure
ms.topic: conceptual
ms.topic: concept-article
ms.custom: devx-track-dotnet, engagement-fy23, devx-track-azurecli
ms.date: 8/15/2024
---
Expand Down
Loading
Loading