diff --git a/.openpublishing.redirection.core.json b/.openpublishing.redirection.core.json index 5f3df9aae20b7..b1729d00bc400 100644 --- a/.openpublishing.redirection.core.json +++ b/.openpublishing.redirection.core.json @@ -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", diff --git a/.openpublishing.redirection.csharp.json b/.openpublishing.redirection.csharp.json index 58d4498e7b703..1dc2c75ffeecf 100644 --- a/.openpublishing.redirection.csharp.json +++ b/.openpublishing.redirection.csharp.json @@ -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", @@ -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", @@ -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", @@ -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", diff --git a/docfx.json b/docfx.json index 04c8f94c8bb60..01e64d4904d34 100644 --- a/docfx.json +++ b/docfx.json @@ -157,7 +157,7 @@ "ms.author": "dotnetcontent", "ms.devlang": "dotnet", "ms.service": "dotnet", - "ms.topic": "conceptual", + "ms.topic": "article", "searchScope": [ ".NET" ], @@ -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", @@ -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", @@ -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", diff --git a/docs/ai/azure-ai-services-authentication.md b/docs/ai/azure-ai-services-authentication.md index 1fc6b79f281d6..bbb0e6debda8c 100644 --- a/docs/ai/azure-ai-services-authentication.md +++ b/docs/ai/azure-ai-services-authentication.md @@ -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 --- diff --git a/docs/architecture/microservices/implement-resilient-applications/index.md b/docs/architecture/microservices/implement-resilient-applications/index.md index 170d04f0a96ad..e583f6f99e0d0 100644 --- a/docs/architecture/microservices/implement-resilient-applications/index.md +++ b/docs/architecture/microservices/implement-resilient-applications/index.md @@ -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"] diff --git a/docs/architecture/microservices/implement-resilient-applications/partial-failure-strategies.md b/docs/architecture/microservices/implement-resilient-applications/partial-failure-strategies.md index 2832f1a798d02..977c1b1c87762 100644 --- a/docs/architecture/microservices/implement-resilient-applications/partial-failure-strategies.md +++ b/docs/architecture/microservices/implement-resilient-applications/partial-failure-strategies.md @@ -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 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 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 diff --git a/docs/architecture/microservices/implement-resilient-applications/use-httpclientfactory-to-implement-resilient-http-requests.md b/docs/architecture/microservices/implement-resilient-applications/use-httpclientfactory-to-implement-resilient-http-requests.md index ecf4af6429e66..164cedd628ffd 100644 --- a/docs/architecture/microservices/implement-resilient-applications/use-httpclientfactory-to-implement-resilient-http-requests.md +++ b/docs/architecture/microservices/implement-resilient-applications/use-httpclientfactory-to-implement-resilient-http-requests.md @@ -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 @@ -204,7 +204,7 @@ Up to this point, the above code snippet only shows the example of performing re - **Polly (.NET resilience and transient-fault-handling library)** - + >[!div class="step-by-step"] >[Previous](implement-resilient-entity-framework-core-sql-connections.md) diff --git a/docs/azure/azure-tools.md b/docs/azure/azure-tools.md index e2f235aad9b0b..b8dd99793553d 100644 --- a/docs/azure/azure-tools.md +++ b/docs/azure/azure-tools.md @@ -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 diff --git a/docs/azure/configure-visual-studio.md b/docs/azure/configure-visual-studio.md index ce6360f015886..2d262f91b622b 100644 --- a/docs/azure/configure-visual-studio.md +++ b/docs/azure/configure-visual-studio.md @@ -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 diff --git a/docs/azure/configure-vs-code.md b/docs/azure/configure-vs-code.md index 93276a90c8f45..a3dc18f4bf3c2 100644 --- a/docs/azure/configure-vs-code.md +++ b/docs/azure/configure-vs-code.md @@ -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 diff --git a/docs/azure/create-azure-account.md b/docs/azure/create-azure-account.md index 21f053fcc622c..0e8d84480d573 100644 --- a/docs/azure/create-azure-account.md +++ b/docs/azure/create-azure-account.md @@ -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 diff --git a/docs/azure/dotnet-dev-env-checklist.md b/docs/azure/dotnet-dev-env-checklist.md index c6c6bb2bcc762..bfb1940bf58fa 100644 --- a/docs/azure/dotnet-dev-env-checklist.md +++ b/docs/azure/dotnet-dev-env-checklist.md @@ -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 --- diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md index e3b02e14d540d..3172948244b4b 100644 --- a/docs/azure/includes/dotnet-all.md +++ b/docs/azure/includes/dotnet-all.md @@ -196,7 +196,7 @@ | Resource Management - Carbonoptimization | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.CarbonOptimization/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.CarbonOptimization-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CarbonOptimization_1.0.0-beta.1/sdk/carbon/Azure.ResourceManager.CarbonOptimization/) | | Resource Management - Change Analysis | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ChangeAnalysis/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ChangeAnalysis-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ChangeAnalysis_1.1.1/sdk/changeanalysis/Azure.ResourceManager.ChangeAnalysis/) | | Resource Management - Chaos | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Chaos/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Chaos-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Chaos_1.1.0/sdk/chaos/Azure.ResourceManager.Chaos/) | -| Resource Management - Cognitive Services | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices/1.4.0)
NuGet [1.5.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices/1.5.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.CognitiveServices-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CognitiveServices_1.4.0/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/)
GitHub [1.5.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CognitiveServices_1.5.0-beta.1/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/) | +| Resource Management - Cognitive Services | NuGet [1.5.0](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices/1.5.0) | [docs](/dotnet/api/overview/azure/ResourceManager.CognitiveServices-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CognitiveServices_1.5.0/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/) | | Resource Management - Communication | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Communication/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Communication-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Communication_1.2.1/sdk/communication/Azure.ResourceManager.Communication/) | | Resource Management - Compute | NuGet [1.9.0](https://www.nuget.org/packages/Azure.ResourceManager.Compute/1.9.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Compute-readme) | GitHub [1.9.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.9.0/sdk/compute/Azure.ResourceManager.Compute/) | | Resource Management - Compute Fleet | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ComputeFleet/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeFleet-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeFleet_1.0.0/sdk/computefleet/Azure.ResourceManager.ComputeFleet/) | @@ -206,7 +206,7 @@ | Resource Management - Connected VMware vSphere | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ConnectedVMwarevSphere/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ConnectedVMwarevSphere-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConnectedVMwarevSphere_1.1.1/sdk/connectedvmwarevsphere/Azure.ResourceManager.ConnectedVMwarevSphere/) | | Resource Management - Consumption | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.Consumption/1.0.1)
NuGet [1.1.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Consumption/1.1.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Consumption-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Consumption_1.0.1/sdk/consumption/Azure.ResourceManager.Consumption/)
GitHub [1.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Consumption_1.1.0-beta.3/sdk/consumption/Azure.ResourceManager.Consumption/) | | Resource Management - Container Apps | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.AppContainers/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.AppContainers-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppContainers_1.4.0/sdk/containerapps/Azure.ResourceManager.AppContainers/) | -| Resource Management - Container Instances | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.2.1)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerInstance-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.2.1/sdk/containerinstance/Azure.ResourceManager.ContainerInstance/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.3.0-beta.1/sdk/containerinstance/Azure.ResourceManager.ContainerInstance/) | +| Resource Management - Container Instances | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.2.1)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerInstance-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.2.1/sdk/containerinstance/Azure.ResourceManager.ContainerInstance/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.3.0-beta.2/sdk/containerinstance/Azure.ResourceManager.ContainerInstance/) | | Resource Management - Container Orchestrator Runtime | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerOrchestratorRuntime/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerOrchestratorRuntime-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerOrchestratorRuntime_1.0.0-beta.1/sdk/containerorchestratorruntime/Azure.ResourceManager.ContainerOrchestratorRuntime/) | | Resource Management - Container Registry | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerRegistry/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerRegistry-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerRegistry_1.3.0/sdk/containerregistry/Azure.ResourceManager.ContainerRegistry/) | | Resource Management - Container Service | NuGet [1.2.3](https://www.nuget.org/packages/Azure.ResourceManager.ContainerService/1.2.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerService-readme) | GitHub [1.2.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerService_1.2.3/sdk/containerservice/Azure.ResourceManager.ContainerService/) | diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md index fc86baa07a122..7bb588b8fae6d 100644 --- a/docs/azure/includes/dotnet-new.md +++ b/docs/azure/includes/dotnet-new.md @@ -203,7 +203,7 @@ | Resource Management - Carbonoptimization | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.CarbonOptimization/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.CarbonOptimization-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CarbonOptimization_1.0.0-beta.1/sdk/carbon/Azure.ResourceManager.CarbonOptimization/) | | Resource Management - Change Analysis | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ChangeAnalysis/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ChangeAnalysis-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ChangeAnalysis_1.1.1/sdk/changeanalysis/Azure.ResourceManager.ChangeAnalysis/) | | Resource Management - Chaos | NuGet [1.1.0](https://www.nuget.org/packages/Azure.ResourceManager.Chaos/1.1.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Chaos-readme) | GitHub [1.1.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Chaos_1.1.0/sdk/chaos/Azure.ResourceManager.Chaos/) | -| Resource Management - Cognitive Services | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices/1.4.0)
NuGet [1.5.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices/1.5.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.CognitiveServices-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CognitiveServices_1.4.0/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/)
GitHub [1.5.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CognitiveServices_1.5.0-beta.1/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/) | +| Resource Management - Cognitive Services | NuGet [1.5.0](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices/1.5.0) | [docs](/dotnet/api/overview/azure/ResourceManager.CognitiveServices-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.CognitiveServices_1.5.0/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/) | | Resource Management - Communication | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.Communication/1.2.1) | [docs](/dotnet/api/overview/azure/ResourceManager.Communication-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Communication_1.2.1/sdk/communication/Azure.ResourceManager.Communication/) | | Resource Management - Compute | NuGet [1.9.0](https://www.nuget.org/packages/Azure.ResourceManager.Compute/1.9.0) | [docs](/dotnet/api/overview/azure/ResourceManager.Compute-readme) | GitHub [1.9.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.9.0/sdk/compute/Azure.ResourceManager.Compute/) | | Resource Management - Compute Fleet | NuGet [1.0.0](https://www.nuget.org/packages/Azure.ResourceManager.ComputeFleet/1.0.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ComputeFleet-readme) | GitHub [1.0.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ComputeFleet_1.0.0/sdk/computefleet/Azure.ResourceManager.ComputeFleet/) | @@ -213,7 +213,7 @@ | Resource Management - Connected VMware vSphere | NuGet [1.1.1](https://www.nuget.org/packages/Azure.ResourceManager.ConnectedVMwarevSphere/1.1.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ConnectedVMwarevSphere-readme) | GitHub [1.1.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ConnectedVMwarevSphere_1.1.1/sdk/connectedvmwarevsphere/Azure.ResourceManager.ConnectedVMwarevSphere/) | | Resource Management - Consumption | NuGet [1.0.1](https://www.nuget.org/packages/Azure.ResourceManager.Consumption/1.0.1)
NuGet [1.1.0-beta.3](https://www.nuget.org/packages/Azure.ResourceManager.Consumption/1.1.0-beta.3) | [docs](/dotnet/api/overview/azure/ResourceManager.Consumption-readme) | GitHub [1.0.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Consumption_1.0.1/sdk/consumption/Azure.ResourceManager.Consumption/)
GitHub [1.1.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Consumption_1.1.0-beta.3/sdk/consumption/Azure.ResourceManager.Consumption/) | | Resource Management - Container Apps | NuGet [1.4.0](https://www.nuget.org/packages/Azure.ResourceManager.AppContainers/1.4.0) | [docs](/dotnet/api/overview/azure/ResourceManager.AppContainers-readme) | GitHub [1.4.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.AppContainers_1.4.0/sdk/containerapps/Azure.ResourceManager.AppContainers/) | -| Resource Management - Container Instances | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.2.1)
NuGet [1.3.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.3.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerInstance-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.2.1/sdk/containerinstance/Azure.ResourceManager.ContainerInstance/)
GitHub [1.3.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.3.0-beta.1/sdk/containerinstance/Azure.ResourceManager.ContainerInstance/) | +| Resource Management - Container Instances | NuGet [1.2.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.2.1)
NuGet [1.3.0-beta.2](https://www.nuget.org/packages/Azure.ResourceManager.ContainerInstance/1.3.0-beta.2) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerInstance-readme) | GitHub [1.2.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.2.1/sdk/containerinstance/Azure.ResourceManager.ContainerInstance/)
GitHub [1.3.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerInstance_1.3.0-beta.2/sdk/containerinstance/Azure.ResourceManager.ContainerInstance/) | | Resource Management - Container Orchestrator Runtime | NuGet [1.0.0-beta.1](https://www.nuget.org/packages/Azure.ResourceManager.ContainerOrchestratorRuntime/1.0.0-beta.1) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerOrchestratorRuntime-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.1](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerOrchestratorRuntime_1.0.0-beta.1/sdk/containerorchestratorruntime/Azure.ResourceManager.ContainerOrchestratorRuntime/) | | Resource Management - Container Registry | NuGet [1.3.0](https://www.nuget.org/packages/Azure.ResourceManager.ContainerRegistry/1.3.0) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerRegistry-readme) | GitHub [1.3.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerRegistry_1.3.0/sdk/containerregistry/Azure.ResourceManager.ContainerRegistry/) | | Resource Management - Container Service | NuGet [1.2.3](https://www.nuget.org/packages/Azure.ResourceManager.ContainerService/1.2.3) | [docs](/dotnet/api/overview/azure/ResourceManager.ContainerService-readme) | GitHub [1.2.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.ContainerService_1.2.3/sdk/containerservice/Azure.ResourceManager.ContainerService/) | diff --git a/docs/azure/install-azure-cli.md b/docs/azure/install-azure-cli.md index 1a73f0850645b..62ca138e962e2 100644 --- a/docs/azure/install-azure-cli.md +++ b/docs/azure/install-azure-cli.md @@ -1,7 +1,7 @@ --- title: Installing the Azure CLI description: Azure developers will need the Azure CLI installed, so this article describes why you need the CLI and where to download and install it from. -ms.topic: conceptual +ms.topic: concept-article ms.custom: devx-track-dotnet, engagement-fy23, devx-track-azurecli ms.date: 8/15/2024 author: alexwolfmsft diff --git a/docs/azure/key-azure-services.md b/docs/azure/key-azure-services.md index 347c630743840..2fda49e09bb58 100644 --- a/docs/azure/key-azure-services.md +++ b/docs/azure/key-azure-services.md @@ -2,7 +2,7 @@ title: Key Azure Services for .NET developers description: Azure has over 100 services, but this article focuses on the ~8 or so services used by .NET developers most frequently ms.date: 08/15/2024 -ms.topic: conceptual +ms.topic: concept-article ms.custom: devx-track-dotnet, engagement-fy23 --- diff --git a/docs/azure/migration/app-service.md b/docs/azure/migration/app-service.md index da428f95a95a7..6a6a119d2ba72 100644 --- a/docs/azure/migration/app-service.md +++ b/docs/azure/migration/app-service.md @@ -1,7 +1,7 @@ --- title: Migrate your .NET web app or service to Azure App Service description: Learn about migrating a .NET web app or service from on-premises to Azure App Service. -ms.topic: conceptual +ms.topic: concept-article ms.date: 07/08/2020 --- # Migrate your .NET web app or service to Azure App Service diff --git a/docs/azure/migration/appcat/app-code-assessment-toolkit.md b/docs/azure/migration/appcat/app-code-assessment-toolkit.md index e0dd082cb604e..c619c240502f1 100644 --- a/docs/azure/migration/appcat/app-code-assessment-toolkit.md +++ b/docs/azure/migration/appcat/app-code-assessment-toolkit.md @@ -1,7 +1,7 @@ --- title: Azure Migrate application and code assessment for .NET description: Learn how to assess .NET applications to evaluate their readiness to migrate to Azure. -ms.topic: conceptual +ms.topic: concept-article ms.date: 11/09/2023 author: codemillmatt ms.author: masoucou diff --git a/docs/azure/migration/appcat/custom-configuration.md b/docs/azure/migration/appcat/custom-configuration.md index f7d6ca080fa88..e130082b66697 100644 --- a/docs/azure/migration/appcat/custom-configuration.md +++ b/docs/azure/migration/appcat/custom-configuration.md @@ -1,7 +1,7 @@ --- title: How to customize analysis with JSON run configurations description: Learn how to include a JSON file to configure your code assessment -ms.topic: conceptual +ms.topic: concept-article ms.date: 08/02/2024 author: mckennabarlow ms.author: mcbarlow diff --git a/docs/azure/migration/appcat/dotnet-cli.md b/docs/azure/migration/appcat/dotnet-cli.md index 18891962a78a7..30d5f01f5f46c 100644 --- a/docs/azure/migration/appcat/dotnet-cli.md +++ b/docs/azure/migration/appcat/dotnet-cli.md @@ -1,7 +1,7 @@ --- title: Use Azure Migrate application and code assessment for .NET with the .NET CLI description: Learn how to assess .NET applications to evaluate their readiness to migrate to Azure with the .NET CLI. -ms.topic: conceptual +ms.topic: concept-article ms.date: 11/10/2023 author: codemillmatt ms.author: masoucou diff --git a/docs/azure/migration/appcat/faq.md b/docs/azure/migration/appcat/faq.md index 992aede27458c..3c94eeef6bd54 100644 --- a/docs/azure/migration/appcat/faq.md +++ b/docs/azure/migration/appcat/faq.md @@ -1,7 +1,7 @@ --- title: Azure Migrate application and code assessment for .NET FAQ description: Frequently asked questions for the Azure Migrate application and code assessment for .NET -ms.topic: conceptual +ms.topic: concept-article ms.date: 08/16/2024 --- diff --git a/docs/azure/migration/appcat/install.md b/docs/azure/migration/appcat/install.md index 3fbae32ad4b66..8bffbb04f76d2 100644 --- a/docs/azure/migration/appcat/install.md +++ b/docs/azure/migration/appcat/install.md @@ -1,7 +1,7 @@ --- title: Azure Migrate application and code assessment for .NET installation description: Learn how to install Azure Migrate application and code assessment for .NET -ms.topic: conceptual +ms.topic: concept-article ms.date: 11/09/2023 author: codemillmatt ms.author: masoucou diff --git a/docs/azure/migration/appcat/interpret-results.md b/docs/azure/migration/appcat/interpret-results.md index 53a727df94faf..6f34c2d8255d9 100644 --- a/docs/azure/migration/appcat/interpret-results.md +++ b/docs/azure/migration/appcat/interpret-results.md @@ -1,7 +1,7 @@ --- title: Interpret the analysis results from the Azure Migrate application and code assessment for .NET description: Learn how to interpret the results the analysis of .NET applications with the Azure Migrate application and code assessment tool. -ms.topic: conceptual +ms.topic: concept-article ms.date: 11/13/2023 author: codemillmatt ms.author: masoucou diff --git a/docs/azure/migration/appcat/visual-studio-copilot.md b/docs/azure/migration/appcat/visual-studio-copilot.md index 882842eb0db64..27c3713750b2b 100644 --- a/docs/azure/migration/appcat/visual-studio-copilot.md +++ b/docs/azure/migration/appcat/visual-studio-copilot.md @@ -1,7 +1,7 @@ --- title: Use GitHub Copilot for Visual Studio with the Azure Migrate application and code assessment for .NET description: Learn how to use GitHub Copilot with the Azure Migrate application and code assessment tool for .NET when evaluating apps for Azure migrations. -ms.topic: conceptual +ms.topic: concept-article ms.date: 10/09/2024 author: alexwolfmsft ms.author: alexwolf diff --git a/docs/azure/migration/appcat/visual-studio.md b/docs/azure/migration/appcat/visual-studio.md index 9a7b8366962fb..d3ecd63855435 100644 --- a/docs/azure/migration/appcat/visual-studio.md +++ b/docs/azure/migration/appcat/visual-studio.md @@ -1,7 +1,7 @@ --- title: Use Azure Migrate application and code assessment for .NET with Visual Studio description: Learn how to assess .NET applications to evaluate their readiness to migrate to Azure with Visual Studio. -ms.topic: conceptual +ms.topic: concept-article ms.date: 11/09/2023 author: codemillmatt ms.author: masoucou diff --git a/docs/azure/sdk/aspnetcore-guidance.md b/docs/azure/sdk/aspnetcore-guidance.md index 0f0169fd0f8b4..74faccae157d8 100644 --- a/docs/azure/sdk/aspnetcore-guidance.md +++ b/docs/azure/sdk/aspnetcore-guidance.md @@ -1,7 +1,7 @@ --- title: Best practices for using the Azure SDK with ASP.NET Core description: Learn best practices and the steps to properly implement the Azure SDK for .NET in your ASP.NET Core apps. -ms.topic: conceptual +ms.topic: concept-article ms.custom: devx-track-dotnet ms.date: 10/22/2024 --- @@ -20,7 +20,7 @@ The Azure SDK for .NET enables ASP.NET Core apps to integrate with many differen ASP.NET Core apps that connect to Azure services generally depend on the following Azure SDK client libraries: - [Microsoft.Extensions.Azure](https://www.nuget.org/packages/Microsoft.Extensions.Azure) provides helper methods to register clients with the dependency injection service collection and handles various concerns for you, such as setting up logging, handling DI service lifetimes, and authentication credential management. -- [Azure.Identity](https://www.nuget.org/packages/Azure.Identity) enables Microsoft Entra ID authentication support across the Azure SDK. It provides a set of [TokenCredential](/dotnet/api/azure.core.tokencredential?view=azure-dotnet) implementations to construct Azure SDK clients that support Microsoft Entra authentication. +- [Azure.Identity](https://www.nuget.org/packages/Azure.Identity) enables Microsoft Entra ID authentication support across the Azure SDK. It provides a set of implementations to construct Azure SDK clients that support Microsoft Entra authentication. - `Azure.` libraries, such as [Azure.Storage.Blobs](https://www.nuget.org/packages/Azure.Storage.Blobs) and [Azure.Messaging.ServiceBus](https://www.nuget.org/packages/Azure.Messaging.ServiceBus), provide service clients and other types to help you connect to and consume specific Azure services. For a complete inventory of these libraries, see [Libraries using Azure.Core](packages.md#libraries-using-azurecore). In the sections ahead, you'll explore how to implement an ASP.NET Core application that uses these libraries. diff --git a/docs/azure/sdk/authentication/additional-methods.md b/docs/azure/sdk/authentication/additional-methods.md index d49e22478e31a..c78cad2496bbc 100644 --- a/docs/azure/sdk/authentication/additional-methods.md +++ b/docs/azure/sdk/authentication/additional-methods.md @@ -39,7 +39,7 @@ For more exact control, such as setting redirect URIs, you can supply specific a ## Interactive brokered authentication -This method interactively authenticates an application through [`InteractiveBrowserCredential`](/dotnet/api/azure.identity.interactivebrowsercredential?view=azure-dotnet) by collecting user credentials using the system authentication broker. A system authentication broker is an app running on a user's machine that manages the authentication handshakes and token maintenance for all connected accounts. Currently, only the Windows authentication broker, Web Account Manager (WAM), is supported. Users on macOS and Linux will be authenticated through the non-brokered interactive browser flow. +This method interactively authenticates an application through by collecting user credentials using the system authentication broker. A system authentication broker is an app running on a user's machine that manages the authentication handshakes and token maintenance for all connected accounts. Currently, only the Windows authentication broker, Web Account Manager (WAM), is supported. Users on macOS and Linux will be authenticated through the non-brokered interactive browser flow. WAM enables identity providers such as Microsoft Entra ID to natively plug into the OS and provide the service to other apps to provide a more secure login process. WAM offers the following benefits: @@ -80,7 +80,7 @@ Perform the following steps to enable the application to authenticate through th ### Example using InteractiveBrowserCredential -The following example demonstrates using an [`InteractiveBrowserCredential`](/dotnet/api/azure.identity.interactivebrowsercredential?view=azure-dotnet) in a Windows Forms app to authenticate with the [`BlobServiceClient`](/dotnet/api/azure.storage.blobs.blobserviceclient): +The following example demonstrates using an in a Windows Forms app to authenticate with the [`BlobServiceClient`](/dotnet/api/azure.storage.blobs.blobserviceclient): :::code language="csharp" source="../snippets/authentication/additional-auth/interactive/InteractiveBrokeredAuth.cs" highlight="16-20"::: diff --git a/docs/azure/sdk/authentication/best-practices.md b/docs/azure/sdk/authentication/best-practices.md index bca7605686bcd..19c68f1d7346d 100644 --- a/docs/azure/sdk/authentication/best-practices.md +++ b/docs/azure/sdk/authentication/best-practices.md @@ -1,7 +1,7 @@ --- title: Authentication best practices with the Azure Identity library for .NET description: This article describes authentication best practices to follow when using the Azure Identity library for .NET. -ms.topic: conceptual +ms.topic: concept-article ms.date: 02/14/2025 --- diff --git a/docs/azure/sdk/authentication/create-token-credentials-from-configuration.md b/docs/azure/sdk/authentication/create-token-credentials-from-configuration.md index 34251e6061cda..58112c00ed7bd 100644 --- a/docs/azure/sdk/authentication/create-token-credentials-from-configuration.md +++ b/docs/azure/sdk/authentication/create-token-credentials-from-configuration.md @@ -3,7 +3,7 @@ title: Create Azure Identity library credentials via configuration files description: Learn how to create token credentials from configuration files. ms.topic: how-to ms.custom: devx-track-dotnet, engagement-fy23 -ms.date: 03/14/2025 +ms.date: 06/13/2025 --- # Create Azure Identity library credentials via configuration files @@ -67,9 +67,23 @@ Add the wildcard value `*` to allow the credential to acquire tokens for any Mic ### Create an instance of `ManagedIdentityCredential` -You can create both user-assigned and system-assigned managed identities using configuration values. To create an instance of , add the following key-value pairs to your _appsettings.json_ file. +You can configure a credential to utilize a managed identity in the following ways using configuration values: -#### User-assigned managed identities +- System-assigned managed identity +- User-assigned managed identity +- Managed identity as a federated identity credential + +To create an instance of , add the following key-value pairs to your _appsettings.json_ file. + +#### System-assigned managed identity + +```json +{ + "credential": "managedidentity" +} +``` + +#### User-assigned managed identity A user-assigned managed identity can be used by providing a client ID, resource ID, or object ID. @@ -78,7 +92,7 @@ A user-assigned managed identity can be used by providing a client ID, resource ```json { "credential": "managedidentity", - "clientId": "" + "managedIdentityClientId": "" } ``` @@ -91,7 +105,7 @@ A user-assigned managed identity can be used by providing a client ID, resource } ``` -The resource ID takes the form: +The resource ID takes the form `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}` ## [Object ID](#tab/object-id) @@ -108,14 +122,57 @@ The resource ID takes the form: --- -#### System-assigned managed identities +#### Managed identity as a federated identity credential + +The [managed identity as a federated identity credential](/entra/workload-id/workload-identity-federation-config-app-trust-managed-identity?tabs=microsoft-entra-admin-center%2Cdotnet) feature is supported in `Microsoft.Extensions.Azure` versions 1.12.0 and later. The feature doesn't work with system-assigned managed identity. The credential can be configured with a user-assigned managed identity by providing a client ID, resource ID, or object ID. + +## [Client ID](#tab/client-id) ```json { - "credential": "managedidentity" + "credential": "managedidentityasfederatedidentity", + "azureCloud": "", + "tenantId": "", + "clientId": "", + "managedIdentityClientId": "" +} +``` + +## [Resource ID](#tab/resource-id) + +```json +{ + "credential": "managedidentityasfederatedidentity", + "azureCloud": "", + "tenantId": "", + "clientId": "", + "managedIdentityResourceId": "" } ``` +The resource ID takes the form +`/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}` + +## [Object ID](#tab/object-id) + +```json +{ + "credential": "managedidentityasfederatedidentity", + "azureCloud": "", + "tenantId": "", + "clientId": "", + "managedIdentityObjectId": "" +} +``` + +--- + +The `azureCloud` key value is used to set the Microsoft Entra access token scope. It can be one of the following values: + +- `public` for Azure Public Cloud +- `usgov` for Azure US Government Cloud +- `china` for Azure operated by 21Vianet + ### Create an instance of `AzurePipelinesCredential` To create an instance of , add the following key-value pairs to your _appsettings.json_ file: diff --git a/docs/azure/sdk/authentication/credential-chains.md b/docs/azure/sdk/authentication/credential-chains.md index dff0007d67ce2..225a19390c9c5 100644 --- a/docs/azure/sdk/authentication/credential-chains.md +++ b/docs/azure/sdk/authentication/credential-chains.md @@ -1,7 +1,7 @@ --- title: 'Credential chains in the Azure Identity library for .NET' description: 'This article describes the DefaultAzureCredential and ChainedTokenCredential classes in the Azure Identity library.' -ms.topic: conceptual +ms.topic: concept-article ms.date: 05/30/2025 --- diff --git a/docs/azure/sdk/authentication/index.md b/docs/azure/sdk/authentication/index.md index 5707fb44788ed..fa2e5ad70ab31 100644 --- a/docs/azure/sdk/authentication/index.md +++ b/docs/azure/sdk/authentication/index.md @@ -1,7 +1,7 @@ --- title: How to authenticate .NET applications with Azure services description: Learn how to authenticate a .NET app with Azure services by using classes in the Azure Identity library. -ms.topic: conceptual +ms.topic: concept-article ms.custom: devx-track-dotnet, engagement-fy23 ms.date: 08/02/2024 --- diff --git a/docs/azure/sdk/authentication/user-assigned-managed-identity.md b/docs/azure/sdk/authentication/user-assigned-managed-identity.md index b5f03a24d2ebc..014f5382f3b84 100644 --- a/docs/azure/sdk/authentication/user-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/user-assigned-managed-identity.md @@ -41,7 +41,7 @@ User-assigned managed identities are created as standalone resources in your Azu ### [Azure CLI](#tab/azure-cli) -Use the Azure CLI command [`az identity create`](/cli/azure/identity?view=azure-cli-latest#az-identity-create) to create a managed identity: +Use the Azure CLI command [`az identity create`](/cli/azure/identity#az-identity-create) to create a managed identity: ```azurecli az identity create \ @@ -53,7 +53,7 @@ az identity create \ The command output prints the client ID of the created user-assigned managed identity. The client ID is used to configure application code that relies on the identity. -You can always view the managed identity properties again using the [`az identity show`](/cli/azure/identity?view=azure-cli-latest#az-identity-show) command: +You can always view the managed identity properties again using the [`az identity show`](/cli/azure/identity#az-identity-show) command: ```azurecli az identity show \ @@ -83,7 +83,7 @@ A user-assigned managed identity can be associated with one or more Azure resour The Azure CLI provides different commands to assign a user-assigned managed identity to different types of hosting services. -1. To assign a user-assigned managed identity to a resource such as an Azure App Service web app using the Azure CLI, you'll need the resource ID of the identity. Use the [`az identity show`](/cli/azure/identity?view=azure-cli-latest#az-identity-show) command to retrieve the resource ID: +1. To assign a user-assigned managed identity to a resource such as an Azure App Service web app using the Azure CLI, you'll need the resource ID of the identity. Use the [`az identity show`](/cli/azure/identity#az-identity-show) command to retrieve the resource ID: ```azurecli az identity show \ @@ -95,7 +95,7 @@ The Azure CLI provides different commands to assign a user-assigned managed iden 2. Once you have the resource ID, use the Azure CLI command `az identity assign` command to associate the user-assigned managed identity with different resources, such as the following: - For Azure App Service, use the Azure CLI command [`az webapp identity assign`](/cli/azure/webapp/identity?view=azure-cli-latest#az-webapp-identity-assign): + For Azure App Service, use the Azure CLI command [`az webapp identity assign`](/cli/azure/webapp/identity#az-webapp-identity-assign): ```azurecli az webapp identity assign \ @@ -104,7 +104,7 @@ The Azure CLI provides different commands to assign a user-assigned managed iden --identities ``` - For Azure Container Apps, use the Azure CLI command [`az containerapp identity assign`](/cli/azure/containerapp/identity?view=azure-cli-latest#az-containerapp-identity-assign): + For Azure Container Apps, use the Azure CLI command [`az containerapp identity assign`](/cli/azure/containerapp/identity#az-containerapp-identity-assign): ```azurecli az containerapp identity assign \ @@ -113,7 +113,7 @@ The Azure CLI provides different commands to assign a user-assigned managed iden --identities ``` - For Azure Virtual Machines, use the Azure CLI command [`az vm identity assign`](/cli/azure/vm/identity?view=azure-cli-latest#az-vm-identity-assign): + For Azure Virtual Machines, use the Azure CLI command [`az vm identity assign`](/cli/azure/vm/identity#az-vm-identity-assign): ```azurecli az vm identity assign \ diff --git a/docs/azure/sdk/azure-sdk-for-dotnet.md b/docs/azure/sdk/azure-sdk-for-dotnet.md index 5fd273bf246be..0abe1059e1c32 100644 --- a/docs/azure/sdk/azure-sdk-for-dotnet.md +++ b/docs/azure/sdk/azure-sdk-for-dotnet.md @@ -1,7 +1,7 @@ --- title: Azure SDK for .NET Overview description: Provides an overview of what the Azure SDK for .NET is and the basic steps to use the SDK in a .NET application -ms.topic: conceptual +ms.topic: concept-article ms.custom: devx-track-dotnet, engagement-fy23 ms.date: 04/25/2025 --- diff --git a/docs/azure/sdk/configure-proxy.md b/docs/azure/sdk/configure-proxy.md index 2ca9b0280c69c..5d857c56c62c9 100644 --- a/docs/azure/sdk/configure-proxy.md +++ b/docs/azure/sdk/configure-proxy.md @@ -1,7 +1,7 @@ --- title: Configure a proxy when using the Azure SDK for .NET description: Learn different approaches for configuring a proxy for use with the Azure SDK for .NET client libraries. -ms.topic: conceptual +ms.topic: concept-article ms.custom: devx-track-dotnet, engagement-fy23 ms.date: 04/25/2025 --- diff --git a/docs/azure/sdk/pagination.md b/docs/azure/sdk/pagination.md index 6ddcb6e02686c..7fd7441b64bf7 100644 --- a/docs/azure/sdk/pagination.md +++ b/docs/azure/sdk/pagination.md @@ -27,16 +27,16 @@ For the latest directory of Azure SDK for .NET packages, see [Azure SDK latest r Clients instantiated from the Azure SDK for .NET can return the following pageable types. -| Type | Description | -|--|--| -| [`Pageable`](xref:Azure.Pageable%601) | A collection of values retrieved in pages | +| Type | Description | +|----------------------------------------------------|----------------------------------------------------------| +| [`Pageable`](xref:Azure.Pageable%601) | A collection of values retrieved in pages | | [`AsyncPageable`](xref:Azure.AsyncPageable%601) | A collection of values asynchronously retrieved in pages | Most of the samples in this article are asynchronous, using variations of the `AsyncPageable` type. Using asynchronous programming for I/O-bound operations is ideal. A perfect use case is using the async APIs from the Azure SDK for .NET as these operations represent HTTP/S network calls. ## Iterate over `AsyncPageable` with `await foreach` -To iterate over an `AsyncPageable` using the [`await foreach`](/dotnet/csharp/language-reference/proposals/csharp-8.0/async-streams#foreach) syntax, consider the following example: +To iterate over an `AsyncPageable` using the [`await foreach`](/dotnet/csharp/language-reference/language-specification/statements#13953-await-foreach) syntax, consider the following example: :::code source="snippets/pagination/Program.cs" range="38-46"::: diff --git a/docs/azure/sdk/protocol-convenience-methods.md b/docs/azure/sdk/protocol-convenience-methods.md index 69481c779e50c..e2974c8333b4a 100644 --- a/docs/azure/sdk/protocol-convenience-methods.md +++ b/docs/azure/sdk/protocol-convenience-methods.md @@ -1,7 +1,7 @@ --- title: Understand Azure SDK client library method types description: Learn about the key differences between protocol and convenience methods in the Azure SDK client libraries for .NET. -ms.topic: conceptual +ms.topic: concept-article ms.custom: devx-track-dotnet, engagement-fy23, devx-track-arm-template ms.date: 04/25/2025 --- diff --git a/docs/core/compatibility/10.0.md b/docs/core/compatibility/10.0.md index 1547f896347fa..a3969d610efc7 100644 --- a/docs/core/compatibility/10.0.md +++ b/docs/core/compatibility/10.0.md @@ -13,8 +13,7 @@ If you're migrating an app to .NET 10, the breaking changes listed here might af [!INCLUDE [binary-source-behavioral](includes/binary-source-behavioral.md)] > [!NOTE] -> -> This article is a work in progress. It's not a complete list of breaking changes in .NET 10. To query breaking changes that are still pending publication, see [Issues of .NET](https://issuesof.net/?q=%20is:open%20-label:Documented%20is:issue%20(label:%22Breaking%20Change%22%20or%20label:breaking-change)%20(repo:dotnet/docs%20or%20repo:aspnet/Announcements)%20group:repo%20(label:%22:checkered_flag:%20Release:%20.NET%2010%22%20or%20label:10.0.0)%20sort:created-desc). +> This article is a work in progress. It's not a complete list of breaking changes in .NET 10. ## Containers diff --git a/docs/core/compatibility/9.0.md b/docs/core/compatibility/9.0.md index 630a6831a4874..2d89514047487 100644 --- a/docs/core/compatibility/9.0.md +++ b/docs/core/compatibility/9.0.md @@ -2,7 +2,7 @@ title: Breaking changes in .NET 9 titleSuffix: "" description: Navigate to the breaking changes in .NET 9. -ms.date: 04/03/2025 +ms.date: 03/26/2025 no-loc: [Blazor, Razor, Kestrel] --- # Breaking changes in .NET 9 @@ -11,10 +11,6 @@ If you're migrating an app to .NET 9, the breaking changes listed here might aff [!INCLUDE [binary-source-behavioral](includes/binary-source-behavioral.md)] -> [!NOTE] -> -> This article is a work in progress. It's not a complete list of breaking changes in .NET 9. To query breaking changes that are still pending publication, see [Issues of .NET](https://issuesof.net/?q=%20is:open%20-label:Documented%20is:issue%20(label:%22Breaking%20Change%22%20or%20label:breaking-change)%20(repo:dotnet/docs%20or%20repo:aspnet/Announcements)%20group:repo%20(label:%22:checkered_flag:%20Release:%20.NET%209%22%20or%20label:9.0.0)%20sort:created-desc). - ## ASP.NET Core | Title | Type of change | Introduced version | @@ -68,10 +64,9 @@ If you're migrating an app to .NET 9, the breaking changes listed here might aff ## Deployment -| Title | Type of change | Introduced version | -|-----------------------------------------------------------------------------------------------------------------|---------------------|--------------------| -| [Deprecated desktop Windows/macOS/Linux MonoVM runtime packages](deployment/9.0/monovm-packages.md) | Source incompatible | Preview 7 | -| [Assembly load directory resolves through symbolic links on Windows](deployment/9.0/assembly-load-directory.md) | Behavioral change | GA | +| Title | Type of change | Introduced version | +|-----------------------------------------------------------------------------------------------------|---------------------|--------------------| +| [Deprecated desktop Windows/macOS/Linux MonoVM runtime packages](deployment/9.0/monovm-packages.md) | Source incompatible | Preview 7 | ## Interop diff --git a/docs/core/compatibility/api-removal.md b/docs/core/compatibility/api-removal.md index 7686ec3cde85c..7992a5107a029 100644 --- a/docs/core/compatibility/api-removal.md +++ b/docs/core/compatibility/api-removal.md @@ -3,7 +3,7 @@ title: API removal in .NET titleSuffix: "" description: Learn about .NET's policy for obsoleting and removing APIs. ms.date: 04/27/2023 -ms.topic: conceptual +ms.topic: article --- # API removal in .NET diff --git a/docs/core/compatibility/breaking-changes.md b/docs/core/compatibility/breaking-changes.md index 91c36798c1cf0..0adf3ce8820eb 100644 --- a/docs/core/compatibility/breaking-changes.md +++ b/docs/core/compatibility/breaking-changes.md @@ -2,7 +2,7 @@ title: .NET breaking changes reference description: Learn how to navigate the .NET breaking changes reference. ms.date: 12/22/2022 -ms.topic: conceptual +ms.topic: article --- # Breaking changes in .NET diff --git a/docs/core/compatibility/categories.md b/docs/core/compatibility/categories.md index 4c7e8d33ee587..fb26b3e4c2c69 100644 --- a/docs/core/compatibility/categories.md +++ b/docs/core/compatibility/categories.md @@ -2,7 +2,7 @@ title: Compatibility description: Learn about the ways in which code changes can affect compatibility in .NET. ms.date: 06/10/2019 -ms.topic: conceptual +ms.topic: article --- # How code changes can affect compatibility diff --git a/docs/core/compatibility/deployment/9.0/assembly-load-directory.md b/docs/core/compatibility/deployment/9.0/assembly-load-directory.md deleted file mode 100644 index 2cde6c982f214..0000000000000 --- a/docs/core/compatibility/deployment/9.0/assembly-load-directory.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: "Breaking change - Assembly load directory resolves through symbolic links on Windows" -description: "Learn about the breaking change in .NET 9 where the assembly load directory resolves through symbolic links." -ms.date: 4/3/2025 -ai-usage: ai-assisted -ms.custom: https://github.com/dotnet/docs/issues/45584 ---- - -# Assembly load directory resolves through symbolic links on Windows - -Starting in .NET 9, the .NET host resolves symbolic links before determining the assembly load directory when running on Windows. - -## Version introduced - -.NET 9 - -## Previous behavior - -The .NET host didn't resolve symbolic links before calculating load paths. Assembly loads were resolved relative to the symbolic link itself, not the destination of the link. - -For example, if an application was laid out as follows: - -``` -/myapp/ - myapp.exe - myapp.dll -``` - -And a symbolic link was created in another directory: - -``` -otherdir/ - myapp.exe -> /myapp/myapp.exe -``` - -Executing `otherdir/myapp.exe` would resolve loads relative to `otherdir/`, not `/myapp/`. - -## New behavior - -The .NET host now resolves the destination of a symbolic link before determining the assembly load directory. Assembly loads are resolved relative to the resolved location of the host file. - -Using the same example: - -``` -/myapp/ - myapp.exe - myapp.dll -``` - -With a symbolic link: - -``` -otherdir/ - myapp.exe -> /myapp/myapp.exe -``` - -Executing `otherdir/myapp.exe` resolves loads relative to `/myapp/`. Files in `otherdir/` are not considered. - -## Type of breaking change - -This is a [behavioral change](../../categories.md#behavioral-change). - -## Reason for change - -The previous behavior on Windows was undocumented, inconsistent with non-Windows implementations, and prevented supported use of symbolic links to the .NET host. This change ensures consistent behavior and enables scenarios where symbolic links to the .NET host are used properly. - -## Recommended action - -If your application relied on the previous behavior, ensure that all relevant binaries are located in the directory behind the symbolic link, rather than next to it. Avoid constructing a file layout that depends on the symbolic link's location. - -## Affected APIs - -None. diff --git a/docs/core/compatibility/library-change-rules.md b/docs/core/compatibility/library-change-rules.md index 748a4d07930b0..b804243da5064 100644 --- a/docs/core/compatibility/library-change-rules.md +++ b/docs/core/compatibility/library-change-rules.md @@ -2,7 +2,7 @@ title: .NET API changes that affect compatibility description: Learn how .NET attempts to maintain compatibility for developers across .NET versions, and what kind of change is considered a breaking change. ms.date: 05/12/2021 -ms.topic: conceptual +ms.topic: article --- # Change rules for compatibility diff --git a/docs/core/compatibility/toc.yml b/docs/core/compatibility/toc.yml index d38efc5450872..bd8dd49dadfdc 100644 --- a/docs/core/compatibility/toc.yml +++ b/docs/core/compatibility/toc.yml @@ -170,8 +170,6 @@ items: items: - name: Deprecated desktop Windows/macOS/Linux MonoVM runtime packages href: deployment/9.0/monovm-packages.md - - name: Assembly load directory resolves through symbolic links on Windows - href: deployment/9.0/assembly-load-directory.md - name: Entity Framework Core href: /ef/core/what-is-new/ef-core-9.0/breaking-changes?toc=/dotnet/core/compatibility/toc.json&bc=/dotnet/breadcrumb/toc.json - name: Interop @@ -1724,8 +1722,6 @@ items: items: - name: Deprecated desktop Windows/macOS/Linux MonoVM runtime packages href: deployment/9.0/monovm-packages.md - - name: Assembly load directory resolves through symbolic links on Windows - href: deployment/9.0/assembly-load-directory.md - name: .NET 8 items: - name: Host determines RID-specific assets diff --git a/docs/core/diagnostics/compare-metric-apis.md b/docs/core/diagnostics/compare-metric-apis.md index e6b7fabd9d29a..f6eb30dae2e6b 100644 --- a/docs/core/diagnostics/compare-metric-apis.md +++ b/docs/core/diagnostics/compare-metric-apis.md @@ -58,5 +58,5 @@ Most application performance monitoring (APM) vendors such as [AppDynamics](http [Application Insights](/azure/azure-monitor/app/app-insights-overview), [DataDog](https://www.datadoghq.com/), [DynaTrace](https://www.dynatrace.com/), and [NewRelic](https://newrelic.com/) include metrics APIs as part of their instrumentation libraries. -[Prometheus](https://github.com/prometheus-net/prometheus-net) and [AppMetrics](https://www.app-metrics.io/) are also popular .NET OSS projects. +[Prometheus](https://github.com/prometheus-net/prometheus-net) and [AppMetrics](https://github.com/AppMetrics/AppMetrics) are also popular .NET OSS projects. To learn more about these projects, check the various project websites. diff --git a/docs/core/diagnostics/observability-applicationinsights.md b/docs/core/diagnostics/observability-applicationinsights.md index ccbeda438191c..c7c797a22e613 100644 --- a/docs/core/diagnostics/observability-applicationinsights.md +++ b/docs/core/diagnostics/observability-applicationinsights.md @@ -2,7 +2,7 @@ title: "Example: Use OpenTelemetry with Azure Monitor and Application Insights" description: An walkthrough of how to use OpenTelemetry in .NET to export telemetry to Application Insights ms.date: 8/21/2024 -ms.topic: conceptual +ms.topic: concept-article --- # Example: Use OpenTelemetry with Azure Monitor and Application Insights diff --git a/docs/core/diagnostics/observability-otlp-example.md b/docs/core/diagnostics/observability-otlp-example.md index 3989d87589063..721ab04813d15 100644 --- a/docs/core/diagnostics/observability-otlp-example.md +++ b/docs/core/diagnostics/observability-otlp-example.md @@ -2,7 +2,7 @@ title: "Example: Use OpenTelemetry with OTLP and the standalone Aspire Dashboard" description: An introduction to observing .NET apps with OTLP and the standalone Aspire Dashboard ms.date: 6/14/2023 -ms.topic: conceptual +ms.topic: article --- # Example: Use OpenTelemetry with OTLP and the standalone Aspire Dashboard diff --git a/docs/core/diagnostics/observability-prgrja-example.md b/docs/core/diagnostics/observability-prgrja-example.md index c7b8316894968..d3506bb961a08 100644 --- a/docs/core/diagnostics/observability-prgrja-example.md +++ b/docs/core/diagnostics/observability-prgrja-example.md @@ -2,7 +2,7 @@ title: "Example: Use OpenTelemetry with Prometheus, Grafana, and Jaeger" description: An walkthrough of how to use OpenTelemetry in .NET to export telemetry to Prometheus, Grafana, and Jaeger ms.date: 6/14/2023 -ms.topic: conceptual +ms.topic: article --- # Example: Use OpenTelemetry with Prometheus, Grafana, and Jaeger @@ -13,7 +13,7 @@ This example uses Prometheus for metrics collection, Grafana for creating a dash Create a simple web API project by using the **ASP.NET Core Empty** template in Visual Studio or the following .NET CLI command: -``` dotnetcli +```dotnetcli dotnet new web ``` @@ -36,7 +36,7 @@ The following code defines a new metric (`greetings.count`) for the number of ti Use the NuGet Package Manager or command line to add the following NuGet packages: -``` xml +```xml @@ -65,7 +65,7 @@ The code uses the Prometheus exporter for metrics, which uses ASP.NET Core to ho Run the project and then access the API with the browser or curl. -``` dotnetcli +```dotnetcli curl -k http://localhost:7275 ``` @@ -85,7 +85,7 @@ There are a couple of options for how logs can be egressed from .NET: You can access the metrics using the `/metrics` endpoint. -``` dotnetcli +```dotnetcli curl -k https://localhost:7275/ Hello World! @@ -102,13 +102,13 @@ current_connections{endpoint="[::1]:5212"} 1 1686894204856 ... ``` -The metrics output is a snapshot of the metrics at the time the endpoint is requested. The results are provided in [Prometheus exposition format](https://github.com/prometheus/docs/blob/main/content/docs/instrumenting/exposition_formats.md), which is human readable but better understood by Prometheus. That topic is covered in the next stage. +The metrics output is a snapshot of the metrics at the time the endpoint is requested. The results are provided in [Prometheus exposition format](https://github.com/prometheus/docs/blob/main/docs/instrumenting/exposition_formats.md), which is human readable but better understood by Prometheus. That topic is covered in the next stage. ### 6.3 Access the tracing If you look at the console for the server, you'll see the output from the console trace exporter, which outputs the information in a human readable format. This should show two activities, one from your custom `ActivitySource`, and the other from ASP.NET Core: -``` dotnetcli +```dotnetcli Activity.TraceId: 2e00dd5e258d33fe691b965607b91d18 Activity.SpanId: 3b7a891f55b97f1a Activity.TraceFlags: Recorded @@ -171,7 +171,7 @@ Download Prometheus for your platform from [https://prometheus.io/download/](htt Look at the top of the output of your running server to get the port number for the **http** endpoint. For example: -``` dotnetcli +```dotnetcli info: Microsoft.Hosting.Lifetime[14] Now listening on: https://localhost:7275 info: Microsoft.Hosting.Lifetime[14] @@ -180,7 +180,7 @@ info: Microsoft.Hosting.Lifetime[14] Modify the Prometheus YAML configuration file to specify the port for your HTTP scraping endpoint and set a lower scraping interval. For example: -``` yaml +```yaml scrape_configs: # The job name is added as a label `job=` to any timeseries scraped from this config. - job_name: "prometheus" @@ -195,7 +195,7 @@ Modify the Prometheus YAML configuration file to specify the port for your HTTP Start Prometheus, and look in the output for the port it's running on, typically 9090: -``` dotnetcli +```dotnetcli >prometheus.exe ... ts=2023-06-16T05:29:02.789Z caller=web.go:562 level=info component=web msg="Start listening for connections" address=0.0.0.0:9090 @@ -260,13 +260,13 @@ Download the latest binary distribution archive of Jaeger for your platform from Then, extract the download to a local location that's easy to access. Run the *jaeger-all-in-one(.exe)* executable: -``` dotnetcli +```dotnetcli ./jaeger-all-in-one --collector.otlp.enabled ``` Look through the console output to find the port where it's listening for OTLP traffic via gRPC. For example: -``` json +```json {"level":"info","ts":1686963686.3854616,"caller":"otlpreceiver@v0.78.2/otlp.go:83","msg":"Starting GRPC server","endpoint":"0.0.0.0:4317"} ``` @@ -274,7 +274,7 @@ This output tells you it's listening on `0.0.0.0:4317`, so you can configure tha Open the `AppSettings.json` file for our project, and add the following line, changing the port if applicable. -``` json +```json "OTLP_ENDPOINT_URL" : "http://localhost:4317/" ``` diff --git a/docs/core/diagnostics/observability-with-otel.md b/docs/core/diagnostics/observability-with-otel.md index 8e7d2572b16bc..daea9fcce131a 100644 --- a/docs/core/diagnostics/observability-with-otel.md +++ b/docs/core/diagnostics/observability-with-otel.md @@ -2,7 +2,7 @@ title: .NET Observability with OpenTelemetry description: An introduction to observing .NET apps with OpenTelemetry ms.date: 6/14/2023 -ms.topic: conceptual +ms.topic: article --- # .NET observability with OpenTelemetry diff --git a/docs/core/extensions/dependency-injection-guidelines.md b/docs/core/extensions/dependency-injection-guidelines.md index aea1236f9cc8c..29ab417a6de92 100644 --- a/docs/core/extensions/dependency-injection-guidelines.md +++ b/docs/core/extensions/dependency-injection-guidelines.md @@ -4,7 +4,7 @@ description: Discover effective dependency injection guidelines and best practic author: IEvangelist ms.author: dapine ms.date: 07/18/2024 -ms.topic: conceptual +ms.topic: concept-article --- # Dependency injection guidelines diff --git a/docs/core/project-sdk/overview.md b/docs/core/project-sdk/overview.md index 259cc52cd30e5..5827425149c38 100644 --- a/docs/core/project-sdk/overview.md +++ b/docs/core/project-sdk/overview.md @@ -3,7 +3,7 @@ title: .NET project SDK overview titleSuffix: "" description: Learn about the .NET project SDKs. ms.date: 10/15/2024 -ms.topic: conceptual +ms.topic: concept-article no-loc: ["EmbeddedResource", "Compile", "None", "Blazor"] --- # .NET project SDKs diff --git a/docs/core/resources/manifest-file-names.md b/docs/core/resources/manifest-file-names.md index dbe224b8e7275..98df3138b523a 100644 --- a/docs/core/resources/manifest-file-names.md +++ b/docs/core/resources/manifest-file-names.md @@ -2,7 +2,7 @@ title: How MSBuild generates manifest file names description: Describes the factors that influence the name of a resource manifest file name that's generated by MSBuild at compile time. ms.date: 05/08/2020 -ms.topic: conceptual +ms.topic: article --- # How resource manifest files are named diff --git a/docs/core/runtime-config/index.md b/docs/core/runtime-config/index.md index c354266543500..d14c1dca9ef87 100644 --- a/docs/core/runtime-config/index.md +++ b/docs/core/runtime-config/index.md @@ -1,7 +1,7 @@ --- title: .NET Runtime config options description: Learn how to configure the .NET runtime using configuration settings. -ms.topic: conceptual +ms.topic: article ms.date: 07/23/2021 --- # .NET runtime configuration settings diff --git a/docs/core/tools/dotnet-nuget-config-get.md b/docs/core/tools/dotnet-nuget-config-get.md index cc176c59fbcb4..5d2df3f0895b7 100644 --- a/docs/core/tools/dotnet-nuget-config-get.md +++ b/docs/core/tools/dotnet-nuget-config-get.md @@ -1,6 +1,6 @@ --- -title: dotnet nuget config get command -description: The dotnet-nuget-config command helps manage nuget configuration files. +title: "'dotnet nuget config get' command" +description: "The 'dotnet nuget config get' command helps manage NuGet configuration files." author: martinrrm ms.date: 05/14/2024 --- @@ -31,7 +31,7 @@ The `dotnet nuget config get` Gets the NuGet configuration settings that will be Get all merged NuGet configuration settings from multiple NuGet configuration files that will be applied, when invoking NuGet command from the working directory path. - **`CONFIG_KEY`** - + Get the effective value of the specified configuration settings of the config section. ## Options diff --git a/docs/core/tools/dotnet-nuget-config-set.md b/docs/core/tools/dotnet-nuget-config-set.md index cdbad6c6e40df..6735c1d5777ed 100644 --- a/docs/core/tools/dotnet-nuget-config-set.md +++ b/docs/core/tools/dotnet-nuget-config-set.md @@ -1,6 +1,6 @@ --- -title: dotnet nuget config set command -description: The dotnet-nuget-config command helps manage nuget configuration files. +title: "'dotnet nuget config set' command" +description: "The 'dotnet nuget config set' command helps manage NuGet configuration files." author: martinrrm ms.date: 05/14/2024 --- @@ -27,7 +27,7 @@ The `dotnet nuget config set` sets the values for NuGet configuration settings t ## Arguments - **`CONFIG_KEY`** - + The key of the settings that are to be set. - **`CONFIG-VALUE`** diff --git a/docs/core/tools/dotnet-nuget-config-unset.md b/docs/core/tools/dotnet-nuget-config-unset.md index f2429f2824cad..487cb32462180 100644 --- a/docs/core/tools/dotnet-nuget-config-unset.md +++ b/docs/core/tools/dotnet-nuget-config-unset.md @@ -1,6 +1,6 @@ --- -title: dotnet nuget config unset command -description: The dotnet-nuget-config command helps manage nuget configuration files. +title: "'dotnet nuget config unset' command" +description: "The 'dotnet nuget config unset' command helps manage NuGet configuration files." author: martinrrm ms.date: 05/14/2024 --- @@ -27,7 +27,7 @@ The `dotnet nuget config unset` unsets the values for NuGet configuration settin ## Arguments - **`CONFIG_KEY`** - + The key of the settings that are to be removed. ## Options diff --git a/docs/csharp/how-to/index.md b/docs/csharp/how-to/index.md index 6149fe9c82588..67cb38bbe6abc 100644 --- a/docs/csharp/how-to/index.md +++ b/docs/csharp/how-to/index.md @@ -1,7 +1,7 @@ --- title: How to articles description: A collection of quick tips and short, focused code samples -ms.topic: conceptual +ms.topic: article ms.date: 12/20/2017 --- diff --git a/docs/csharp/language-reference/compiler-options/security.md b/docs/csharp/language-reference/compiler-options/security.md index 0ed03d6f24e83..c35a0bae7c059 100644 --- a/docs/csharp/language-reference/compiler-options/security.md +++ b/docs/csharp/language-reference/compiler-options/security.md @@ -42,7 +42,7 @@ This option causes the compiler to reserve space in the output file so that a di true ``` -Use **DelaySign-** if you want a fully signed assembly. Use **DelaySign** if you only want to place the public key in the assembly. The **DelaySign** option has no effect unless used with [**KeyFile**](#keyfile) or [**KeyContainer**](#keycontainer). The [**KeyContainer**](#keycontainer) and [**PublicSign**](#publicsign) options are mutually exclusive. When you request a fully signed assembly, the compiler hashes the file that contains the manifest (assembly metadata) and signs that hash with the private key. That operation creates a digital signature that is stored in the file that contains the manifest. When an assembly is delay signed, the compiler doesn't compute and store the signature. Instead, the compiler but reserves space in the file so the signature can be added later. +Use **DelaySign-** if you want a fully signed assembly. Use **DelaySign** if you only want to place the public key in the assembly. The **DelaySign** option has no effect unless used with [**KeyFile**](#keyfile) or [**KeyContainer**](#keycontainer). The **DelaySign** and [**PublicSign**](#publicsign) options are mutually exclusive. When you request a fully signed assembly, the compiler hashes the file that contains the manifest (assembly metadata) and signs that hash with the private key. That operation creates a digital signature that is stored in the file that contains the manifest. When an assembly is delay signed, the compiler doesn't compute and store the signature. Instead, the compiler but reserves space in the file so the signature can be added later. Using **DelaySign** allows a tester to put the assembly in the global cache. After testing, you can fully sign the assembly by placing the private key in the assembly using the [Assembly Linker](../../../framework/tools/al-exe-assembly-linker.md) utility. For more information, see [Creating and Using Strong-Named Assemblies](../../../standard/assembly/create-use-strong-named.md) and [Delay Signing an Assembly](../../../standard/assembly/delay-sign.md). diff --git a/docs/csharp/linq/index.md b/docs/csharp/linq/index.md index 7ffe69058060c..4441b65d5de44 100644 --- a/docs/csharp/linq/index.md +++ b/docs/csharp/linq/index.md @@ -1,7 +1,7 @@ --- title: Language Integrated Query (LINQ) description: Introduces Language Integrated Query (LINQ) in C#. -ms.topic: conceptual +ms.topic: concept-article ms.date: 12/14/2023 --- # Language Integrated Query (LINQ) diff --git a/docs/csharp/linq/standard-query-operators/snippets/standard-query-operators/GroupQueryResults.cs b/docs/csharp/linq/standard-query-operators/snippets/standard-query-operators/GroupQueryResults.cs index 1c05a07a7415a..c7c7b67d81b68 100644 --- a/docs/csharp/linq/standard-query-operators/snippets/standard-query-operators/GroupQueryResults.cs +++ b/docs/csharp/linq/standard-query-operators/snippets/standard-query-operators/GroupQueryResults.cs @@ -51,7 +51,7 @@ orderby newGroup.Key public static void GroupByPropertyMethod() { // - // Variable groupByLastNamesQuery is an IEnumerable>. var groupByYearQuery = students .GroupBy(student => student.Year) diff --git a/docs/framework/additional-apis/index.md b/docs/framework/additional-apis/index.md index 19e518740187b..6656b78f79d03 100644 --- a/docs/framework/additional-apis/index.md +++ b/docs/framework/additional-apis/index.md @@ -8,7 +8,7 @@ helpviewer_keywords: - ".NET Framework out-of-band releases" - "out-of-band releases" ms.assetid: cf2d9006-b631-4e5d-81cd-20aab78c60f1 -ms.topic: conceptual +ms.topic: article --- # Additional class libraries and APIs diff --git a/docs/framework/install/dotnet-35-windows.md b/docs/framework/install/dotnet-35-windows.md index bf299488d7b44..e59ba764f595f 100644 --- a/docs/framework/install/dotnet-35-windows.md +++ b/docs/framework/install/dotnet-35-windows.md @@ -8,7 +8,7 @@ ms.date: 02/10/2025 You might need .NET Framework 3.5 to run an app on Windows or Windows Server. Windows and Windows Server come with .NET Framework 4, which doesn't support apps built with .NET Framework 1.1 through 3.5. To run these apps, install .NET Framework 3.5. If you're a developer that requires .NET Framework 3.5, see the section [Developers and .NET Framework 3.5](#developers-and-net-framework-35). > [!TIP] -> You might be able to use a config file to force the app to run on .NET Framework 4. For more information, see [Migration: Retarget or Recompile](../migration-guide/migrating-from-the-net-framework-1-1.md#retarget-or-recompile). +> You might be able to use a config file to force the app to run on .NET Framework 4. For more information, see [Migration: Retarget or recompile](../migration-guide/migrating-from-the-net-framework-1-1.md#retarget-or-recompile). ## Install .NET Framework 3.5 on demand @@ -47,9 +47,9 @@ You don't need to select the child items for **Windows Communication Foundation ## Download the offline installer -The .NET Framework 3.5 SP1 offline installer is available for Windows versions **prior to Windows 10 and Windows Server 2016**. For more information, see [.NET Framework 3.5 SP1 Download page](https://dotnet.microsoft.com/download/dotnet-framework/net35-sp1?wt.mc_id=install-docs). +The .NET Framework 3.5 SP1 offline installer is available for Windows versions **prior to Windows 10 and Windows Server 2016**. For more information, see [.NET Framework 3.5 SP1 download page](https://dotnet.microsoft.com/download/dotnet-framework/net35-sp1?wt.mc_id=install-docs). -Starting with Windows 10 and Windows Server 2016 operating systems, the only supported way of installing .NET Framework 3.5 in an offline mode is by using the original installation media's _:::no-loc text="cab":::_ files. For more information, see [Microsoft .NET Framework 3.5 Deployment Considerations](/windows-hardware/manufacture/desktop/microsoft-net-framework-35-deployment-considerations?view=windows-10). +Starting with Windows 10 and Windows Server 2016 operating systems, the only supported way of installing .NET Framework 3.5 in an offline mode is by using the original installation media's _:::no-loc text="cab":::_ files. For more information, see [Microsoft .NET Framework 3.5 deployment considerations](/windows-hardware/manufacture/desktop/microsoft-net-framework-35-deployment-considerations). ## Troubleshoot the installation diff --git a/docs/fsharp/language-reference/enumerations.md b/docs/fsharp/language-reference/enumerations.md index 68583cce285c3..e16876cff8533 100644 --- a/docs/fsharp/language-reference/enumerations.md +++ b/docs/fsharp/language-reference/enumerations.md @@ -46,9 +46,9 @@ Additionally, cases for enums are always emitted as `public`. This is so that th To enable [exhaustive matching](match-expressions.md) for only the defined enum cases, you can suppress warning FS0104 using the directive `#nowarn "104"`. This allows the compiler to treat only declared enum values as valid during pattern matching, avoiding the need for a catch-all case — useful when you're certain all values are covered. -The warning FS0104 (`Enums may take values outside known cases.`) exists because enums can be assigned arbitrary underlying values, e.g. directly or as a result of [bitwise operations](https://learn.microsoft.com/dotnet/csharp/language-reference/builtin-types/enum#enumeration-types-as-bit-flags) +The warning FS0104 (`Enums may take values outside known cases.`) exists because enums can be assigned arbitrary underlying values, for example, directly or as a result of [bitwise operations](../../csharp/language-reference/builtin-types/enum.md#enumeration-types-as-bit-flags). ## See also -- [F# Language Reference](index.md) -- [Casting and Conversions](casting-and-conversions.md) +- [F# language reference](index.md) +- [Casting and conversions](casting-and-conversions.md) diff --git a/docs/fundamentals/languages.md b/docs/fundamentals/languages.md index 36a0dd0782b00..31ade63a0e74d 100644 --- a/docs/fundamentals/languages.md +++ b/docs/fundamentals/languages.md @@ -4,7 +4,7 @@ description: Each .NET language is unique. C# is the most widely used language a author: billwagner ms.author: wiwagn ms.date: 02/06/2023 -ms.topic: conceptual +ms.topic: concept-article --- # Microsoft .NET language strategy diff --git a/docs/fundamentals/runtime-libraries/system-globalization-compareinfo.md b/docs/fundamentals/runtime-libraries/system-globalization-compareinfo.md index ad66e6081f817..83808127df575 100644 --- a/docs/fundamentals/runtime-libraries/system-globalization-compareinfo.md +++ b/docs/fundamentals/runtime-libraries/system-globalization-compareinfo.md @@ -2,7 +2,7 @@ title: System.Globalization.CompareInfo class description: Learn more about the System.Globalization.CompareInfo class. ms.date: 12/28/2023 -ms.topic: conceptual +ms.topic: concept-article --- # class diff --git a/docs/fundamentals/runtime-libraries/system-globalization-compareoptions.md b/docs/fundamentals/runtime-libraries/system-globalization-compareoptions.md index d28bf5b23fc14..d970a688afb51 100644 --- a/docs/fundamentals/runtime-libraries/system-globalization-compareoptions.md +++ b/docs/fundamentals/runtime-libraries/system-globalization-compareoptions.md @@ -2,7 +2,7 @@ title: System.Globalization.CompareOptions enum description: Learn more about the System.Globalization.CompareOptions enum. ms.date: 12/28/2023 -ms.topic: conceptual +ms.topic: concept-article --- # enum diff --git a/docs/fundamentals/runtime-libraries/system-globalization-cultureandregioninfobuilder.md b/docs/fundamentals/runtime-libraries/system-globalization-cultureandregioninfobuilder.md index a613b864afeb8..af7a426bc7746 100644 --- a/docs/fundamentals/runtime-libraries/system-globalization-cultureandregioninfobuilder.md +++ b/docs/fundamentals/runtime-libraries/system-globalization-cultureandregioninfobuilder.md @@ -2,7 +2,7 @@ title: System.Globalization.CultureAndRegionInfoBuilder class description: Learn more about the System.Globalization.CultureAndRegionInfoBuilder class. ms.date: 01/09/2024 -ms.topic: conceptual +ms.topic: concept-article --- # class diff --git a/docs/fundamentals/runtime-libraries/system-globalization-cultureinfo.md b/docs/fundamentals/runtime-libraries/system-globalization-cultureinfo.md index 358d0796d9f01..8ff3fdd3a3fba 100644 --- a/docs/fundamentals/runtime-libraries/system-globalization-cultureinfo.md +++ b/docs/fundamentals/runtime-libraries/system-globalization-cultureinfo.md @@ -2,7 +2,7 @@ title: System.Globalization.CultureInfo class description: Learn more about the System.Globalization.CultureInfo class. ms.date: 12/28/2023 -ms.topic: conceptual +ms.topic: concept-article --- # class diff --git a/docs/fundamentals/runtime-libraries/system-globalization-datetimeformatinfo.md b/docs/fundamentals/runtime-libraries/system-globalization-datetimeformatinfo.md index 5eeb0f35e11a2..1b874c35ee4e6 100644 --- a/docs/fundamentals/runtime-libraries/system-globalization-datetimeformatinfo.md +++ b/docs/fundamentals/runtime-libraries/system-globalization-datetimeformatinfo.md @@ -2,7 +2,7 @@ title: System.Globalization.DateTimeFormatInfo class description: Learn more about the System.Globalization.DateTimeFormatInfo class. ms.date: 12/28/2023 -ms.topic: conceptual +ms.topic: concept-article --- # class diff --git a/docs/fundamentals/runtime-libraries/system-globalization-numberformatinfo.md b/docs/fundamentals/runtime-libraries/system-globalization-numberformatinfo.md index 242c0fb200a6a..da4bacbe3efc7 100644 --- a/docs/fundamentals/runtime-libraries/system-globalization-numberformatinfo.md +++ b/docs/fundamentals/runtime-libraries/system-globalization-numberformatinfo.md @@ -2,7 +2,7 @@ title: System.Globalization.NumberFormatInfo class description: Learn more about the System.Globalization.NumberFormatInfo class. ms.date: 12/28/2023 -ms.topic: conceptual +ms.topic: concept-article --- # class diff --git a/docs/fundamentals/runtime-libraries/system-globalization-persiancalendar.md b/docs/fundamentals/runtime-libraries/system-globalization-persiancalendar.md index 9fc0b310e8b13..9bfc3e59e7d25 100644 --- a/docs/fundamentals/runtime-libraries/system-globalization-persiancalendar.md +++ b/docs/fundamentals/runtime-libraries/system-globalization-persiancalendar.md @@ -2,7 +2,7 @@ title: System.Globalization.PersianCalendar class description: Learn more about the System.Globalization.PersianCalendar class. ms.date: 04/09/2025 -ms.topic: conceptual +ms.topic: concept-article --- # class diff --git a/docs/fundamentals/runtime-libraries/system-globalization-regioninfo.md b/docs/fundamentals/runtime-libraries/system-globalization-regioninfo.md index 67ef3c6bdb99f..56f65d756666e 100644 --- a/docs/fundamentals/runtime-libraries/system-globalization-regioninfo.md +++ b/docs/fundamentals/runtime-libraries/system-globalization-regioninfo.md @@ -2,7 +2,7 @@ title: System.Globalization.RegionInfo class description: Learn more about the System.Globalization.RegionInfo class. ms.date: 12/28/2023 -ms.topic: conceptual +ms.topic: concept-article --- # class diff --git a/docs/fundamentals/runtime-libraries/system-globalization-sortkey.md b/docs/fundamentals/runtime-libraries/system-globalization-sortkey.md index 45bbf16ca063b..4599f84e597af 100644 --- a/docs/fundamentals/runtime-libraries/system-globalization-sortkey.md +++ b/docs/fundamentals/runtime-libraries/system-globalization-sortkey.md @@ -2,7 +2,7 @@ title: System.Globalization.SortKey class description: Learn more about the System.Globalization.SortKey class. ms.date: 12/28/2023 -ms.topic: conceptual +ms.topic: concept-article --- # class diff --git a/docs/fundamentals/runtime-libraries/system-globalization-sortversion.md b/docs/fundamentals/runtime-libraries/system-globalization-sortversion.md index b2b6d6da28adb..5859726b6d155 100644 --- a/docs/fundamentals/runtime-libraries/system-globalization-sortversion.md +++ b/docs/fundamentals/runtime-libraries/system-globalization-sortversion.md @@ -2,7 +2,7 @@ title: System.Globalization.SortVersion class description: Learn more about the System.Globalization.SortVersion class. ms.date: 12/28/2023 -ms.topic: conceptual +ms.topic: concept-article --- # class diff --git a/docs/machine-learning/resources/ml-net-cli-telemetry.md b/docs/machine-learning/resources/ml-net-cli-telemetry.md index d24ef69509019..a49ddf1cbc7e2 100644 --- a/docs/machine-learning/resources/ml-net-cli-telemetry.md +++ b/docs/machine-learning/resources/ml-net-cli-telemetry.md @@ -1,7 +1,7 @@ --- title: Telemetry collection by ML.NET CLI description: Learn about ML.NET CLI telemetry features that collect usage information for analysis, which data is collected, and how to disable it. Also, find links to the .NET license agreement and information about Microsoft GDPR compliance. -ms.topic: conceptual +ms.topic: article ms.date: 06/03/2020 ms.custom: mlnet-tooling --- diff --git a/docs/orleans/grains/cancellation-tokens.md b/docs/orleans/grains/cancellation-tokens.md index b9c162a564a0d..c59ae47917e48 100644 --- a/docs/orleans/grains/cancellation-tokens.md +++ b/docs/orleans/grains/cancellation-tokens.md @@ -20,7 +20,7 @@ Cancellation is cooperative, meaning your grain implementation must observe the Before a grain call is made, the runtime checks if the provided is already canceled. If so, it immediately throws an without issuing the request. Similarly, if an enqueued request is canceled before a grain begins executing it, it is cancelled without being executed. -While the grain call is executing, the runtime listens for cancellation, propagating the cancellation signal to the remote caller. Cancellation signals are only propagated while the call is active. Once the call completes (either normally or with an error), any subsequent cancellation signal will not be propagated to the remote caller even if it is still executing. These semantics are similar to how cancellation with remote calls works with other APIs such as `HttpClient`, gRPC, or Azure API clients. +While the grain call is executing, the runtime listens for cancellation, propagating the cancellation signal to the remote caller. Cancellation signals are only propagated while the call is active. Once the call completes (either normally or with an error), any subsequent cancellation signal will not be propagated to the remote caller even if it is still executing. These semantics are similar to how cancellation with remote calls works with other APIs such as `HttpClient`, gRPC, or Azure API clients. ## Basic usage @@ -48,25 +48,25 @@ public class ProcessingGrain : Grain, IProcessingGrain { // Check cancellation before starting work cancellationToken.ThrowIfCancellationRequested(); - + var results = new List(); - + for (int i = 0; i < chunks; i++) { // Check cancellation before each chunk cancellationToken.ThrowIfCancellationRequested(); - + // Process each chunk var chunkResult = await ProcessChunkAsync(data, i); results.Add(chunkResult); - + // Use cancellation token with async operations when possible await Task.Delay(100, cancellationToken); } - + return string.Join(", ", results); } - + private async Task ProcessChunkAsync(string data, int chunkIndex) { // Simulate processing work @@ -134,22 +134,22 @@ public interface IDataStreamGrain : IGrainWithGuidKey public class DataStreamGrain : Grain, IDataStreamGrain { public async IAsyncEnumerable StreamDataAsync( - int count, + int count, [EnumeratorCancellation] CancellationToken cancellationToken = default) { for (int i = 0; i < count; i++) { // Check cancellation before each yield - cancellationToken.ThrowIfCancellationRequested(); + cancellationToken.ThrowIfCancellationRequested(); // Generate or fetch data var dataPoint = await GenerateDataPointAsync(i, cancellationToken); yield return dataPoint; - + // Optional: add delay with cancellation support await Task.Delay(100, cancellationToken); } } - + private async Task GenerateDataPointAsync(int index, CancellationToken cancellationToken) { // Simulate data generation @@ -182,7 +182,7 @@ try await foreach (var dataPoint in grain.StreamDataAsync(1000, cts.Token)) { Console.WriteLine($"Received: {dataPoint}"); - + // Process the data point // Cancellation will stop the enumeration automatically } @@ -238,7 +238,7 @@ siloBuilder.Configure(options => { // Send cancellation signal when requests timeout (default: true) options.CancelRequestOnTimeout = true; - + // Wait for callee to acknowledge cancellation (default: false) // Setting this to true provides stronger cancellation guarantees but may impact performance options.WaitForCancellationAcknowledgement = false; @@ -297,7 +297,7 @@ Orleans provides metrics to help you monitor cancellation behavior in your appli public async Task MonitoredOperationAsync(CancellationToken cancellationToken = default) { var stopwatch = Stopwatch.StartNew(); - + try { await DoWorkAsync(cancellationToken); @@ -331,7 +331,7 @@ public async Task ExampleWithCancellationCallbackAsync(CancellationToken cancell // Safe to access grain state here logger.LogInformation("Operation was canceled for grain {GrainId}", this.GetPrimaryKey()); }); - + // Continue with work... await DoWorkAsync(cancellationToken); } @@ -370,7 +370,7 @@ Handle cancellation gracefully with proper error handling patterns: ```csharp public async Task ProcessWithFallbackAsync( - string data, + string data, CancellationToken cancellationToken = default) { try @@ -396,7 +396,7 @@ public async Task ProcessWithFallbackAsync( { throw new OperationCanceledException(cancellationToken); } - + logger.LogWarning(ex, "Primary processing failed, trying fallback"); return await ProcessFallbackAsync(data, cancellationToken); } @@ -421,21 +421,21 @@ The effectiveness of cancellation depends on how frequently the async iterator c ```csharp public async IAsyncEnumerable StreamDataAsync( - int count, + int count, [EnumeratorCancellation] CancellationToken cancellationToken = default) { for (int i = 0; i < count; i++) { // Good: Check before each item cancellationToken.ThrowIfCancellationRequested(); - + var data = await ProcessItemAsync(i); - + // Good: Check after long-running operations cancellationToken.ThrowIfCancellationRequested(); - + yield return data; - + // Good: Use cancellation-aware operations await Task.Delay(100, cancellationToken); } @@ -480,7 +480,7 @@ To use the legacy `GrainCancellationToken`: { // Perform a portion of the work await IoOperation(tc.CancellationToken); - + // Example: tc.CancellationToken.ThrowIfCancellationRequested(); } // Perform cleanup if necessary and then exit or throw OperationCanceledException @@ -516,7 +516,7 @@ To use the legacy `GrainCancellationToken`: - - [Cancellation in managed threads](/dotnet/standard/threading/cancellation-in-managed-threads) - [Task cancellation](/dotnet/standard/parallel-programming/task-cancellation) -- [Async streams](/dotnet/csharp/language-reference/proposals/csharp-8.0/async-streams) +- [Async streams](/dotnet/csharp/language-reference/language-specification/statements#13953-await-foreach) - [Orleans timers and reminders](timers-and-reminders.md) - [Orleans streaming](../streaming/index.md) - [Orleans GitHub repository]() diff --git a/docs/standard/base-types/basic-string-operations.md b/docs/standard/base-types/basic-string-operations.md index f263e83e4edfc..bd6159783a20f 100644 --- a/docs/standard/base-types/basic-string-operations.md +++ b/docs/standard/base-types/basic-string-operations.md @@ -2,7 +2,7 @@ title: Basic String Operations in .NET description: Learn about the basic operations that you can perform on strings. ms.date: "03/30/2017" -ms.topic: conceptual +ms.topic: article helpviewer_keywords: - "strings [.NET], basic string operations" - "custom strings" diff --git a/docs/standard/base-types/best-practices-display-data.md b/docs/standard/base-types/best-practices-display-data.md index 5f8b81f013645..8651ce0224a75 100644 --- a/docs/standard/base-types/best-practices-display-data.md +++ b/docs/standard/base-types/best-practices-display-data.md @@ -2,7 +2,7 @@ title: Best practices for displaying and persisting formatted data in .NET description: Learn how to display and persist numeric and date data effectively in .NET applications. ms.date: 05/01/2019 -ms.topic: conceptual +ms.topic: article dev_langs: - "csharp" - "vb" diff --git a/docs/standard/base-types/best-practices-regex.md b/docs/standard/base-types/best-practices-regex.md index d9faa83c748e4..032ff0d8d21a6 100644 --- a/docs/standard/base-types/best-practices-regex.md +++ b/docs/standard/base-types/best-practices-regex.md @@ -3,7 +3,7 @@ title: Best Practices for Regular Expressions in .NET description: Learn how to create efficient, effective regular expressions in .NET. ms.date: 06/11/2024 ms.custom: devdivchpfy22 -ms.topic: conceptual +ms.topic: concept-article dev_langs: - "csharp" - "vb" diff --git a/docs/standard/base-types/best-practices-strings.md b/docs/standard/base-types/best-practices-strings.md index 9806fcb144a13..9e34506a29125 100644 --- a/docs/standard/base-types/best-practices-strings.md +++ b/docs/standard/base-types/best-practices-strings.md @@ -2,7 +2,7 @@ title: "Best Practices for Comparing Strings in .NET" description: Learn how to compare strings effectively in .NET applications. ms.date: 01/26/2023 -ms.topic: conceptual +ms.topic: concept-article dev_langs: - "csharp" - "vb" diff --git a/docs/standard/base-types/character-encoding-introduction.md b/docs/standard/base-types/character-encoding-introduction.md index 44e88abf1cbc4..4812e685771e1 100644 --- a/docs/standard/base-types/character-encoding-introduction.md +++ b/docs/standard/base-types/character-encoding-introduction.md @@ -2,7 +2,7 @@ title: Introduction to character encoding in .NET description: Learn about character encoding and decoding in .NET. ms.date: 10/22/2024 -ms.topic: conceptual +ms.topic: concept-article no-loc: [Rune, char, string] dev_langs: - "csharp" diff --git a/docs/standard/base-types/character-escapes-in-regular-expressions.md b/docs/standard/base-types/character-escapes-in-regular-expressions.md index 62bddf7331b2c..f60881ea000bb 100644 --- a/docs/standard/base-types/character-escapes-in-regular-expressions.md +++ b/docs/standard/base-types/character-escapes-in-regular-expressions.md @@ -2,7 +2,7 @@ title: Character Escapes in .NET Regular Expressions description: Learn about special characters and escaped characters in .NET regular expressions. ms.date: "03/30/2017" -ms.topic: conceptual +ms.topic: article dev_langs: - "csharp" - "vb" diff --git a/docs/standard/base-types/choosing-between-anonymous-and-tuple.md b/docs/standard/base-types/choosing-between-anonymous-and-tuple.md index 4ef0beb81fa98..8dc9b13761ec6 100644 --- a/docs/standard/base-types/choosing-between-anonymous-and-tuple.md +++ b/docs/standard/base-types/choosing-between-anonymous-and-tuple.md @@ -3,7 +3,7 @@ title: Choosing between anonymous and tuple types description: Learn when it's appropriate to choose between anonymous types, and tuple type. author: IEvangelist ms.author: dapine -ms.topic: conceptual +ms.topic: concept-article ms.date: 07/01/2020 --- # Choosing between anonymous and tuple types diff --git a/docs/standard/base-types/common-type-system.md b/docs/standard/base-types/common-type-system.md index 4c76f8711be56..52a4b0e269021 100644 --- a/docs/standard/base-types/common-type-system.md +++ b/docs/standard/base-types/common-type-system.md @@ -2,7 +2,7 @@ title: Common Type System description: Explore the type system in .NET. Read about types in .NET (value types or reference types), type definition, type members, and type member characteristics. ms.date: 01/03/2024 -ms.topic: conceptual +ms.topic: concept-article dev_langs: - "csharp" - "vb" diff --git a/docs/standard/base-types/comparing.md b/docs/standard/base-types/comparing.md index 97213ffcd01e3..7165f498464d7 100644 --- a/docs/standard/base-types/comparing.md +++ b/docs/standard/base-types/comparing.md @@ -2,7 +2,7 @@ title: "Comparing Strings in .NET" description: Read about methods to compare strings in .NET. Learn about the Compare, CompareOrdinal, CompareTo, StartsWith, EndsWith, Equals, IndexOf, & LastIndexOf methods. ms.date: "03/30/2017" -ms.topic: conceptual +ms.topic: article dev_langs: - "csharp" - "vb" diff --git a/docs/standard/base-types/compilation-and-reuse-in-regular-expressions.md b/docs/standard/base-types/compilation-and-reuse-in-regular-expressions.md index 39d27a346fb5b..480e0fbfa46f1 100644 --- a/docs/standard/base-types/compilation-and-reuse-in-regular-expressions.md +++ b/docs/standard/base-types/compilation-and-reuse-in-regular-expressions.md @@ -1,7 +1,7 @@ --- title: "Compilation and Reuse in Regular Expressions" description: "Learn about compilation and reuse in Regular Expressions." -ms.topic: conceptual +ms.topic: concept-article ms.date: 06/11/2024 helpviewer_keywords: - "parsing text with regular expressions, compilation" diff --git a/docs/standard/base-types/composite-formatting.md b/docs/standard/base-types/composite-formatting.md index 189b85c720ce3..5e37ee4bba0b8 100644 --- a/docs/standard/base-types/composite-formatting.md +++ b/docs/standard/base-types/composite-formatting.md @@ -2,7 +2,7 @@ title: Composite formatting description: Learn about .NET composite formatting, which takes as input a list of objects and a composite format string, containing fixed text with indexed placeholders. ms.date: 08/07/2023 -ms.topic: conceptual +ms.topic: concept-article dev_langs: - "csharp" - "vb" diff --git a/docs/standard/base-types/details-of-regular-expression-behavior.md b/docs/standard/base-types/details-of-regular-expression-behavior.md index 878576fdfa857..5533059831085 100644 --- a/docs/standard/base-types/details-of-regular-expression-behavior.md +++ b/docs/standard/base-types/details-of-regular-expression-behavior.md @@ -2,7 +2,7 @@ description: "Learn more about: Details of regular expression behavior" title: Regular Expression behavior ms.date: "03/30/2017" -ms.topic: conceptual +ms.topic: article dev_langs: - "csharp" - "vb" diff --git a/docs/standard/base-types/miscellaneous-constructs-in-regular-expressions.md b/docs/standard/base-types/miscellaneous-constructs-in-regular-expressions.md index 28d8dea1bdb38..de86dae43a4db 100644 --- a/docs/standard/base-types/miscellaneous-constructs-in-regular-expressions.md +++ b/docs/standard/base-types/miscellaneous-constructs-in-regular-expressions.md @@ -2,7 +2,7 @@ description: "Learn more about: Miscellaneous Constructs in Regular Expressions" title: "Miscellaneous Constructs in Regular Expressions" ms.date: "03/30/2017" -ms.topic: conceptual +ms.topic: article dev_langs: - "csharp" - "vb" diff --git a/docs/standard/base-types/parsing-strings.md b/docs/standard/base-types/parsing-strings.md index e4015b0b40b05..47a7eea0c4b2e 100644 --- a/docs/standard/base-types/parsing-strings.md +++ b/docs/standard/base-types/parsing-strings.md @@ -2,7 +2,7 @@ title: "Convert strings to types" description: Understand string parsing in .NET. Parsing converts a string representing a .NET base type into that base type. Parsing is the reverse operation to formatting. ms.date: "03/30/2017" -ms.topic: conceptual +ms.topic: article helpviewer_keywords: - "parsing strings, about parsing strings" - "IFormatProvider interface, parsing strings" diff --git a/docs/standard/base-types/quantifiers-in-regular-expressions.md b/docs/standard/base-types/quantifiers-in-regular-expressions.md index db67610ebd3b4..26d346f869740 100644 --- a/docs/standard/base-types/quantifiers-in-regular-expressions.md +++ b/docs/standard/base-types/quantifiers-in-regular-expressions.md @@ -3,7 +3,7 @@ title: "Quantifiers in Regular Expressions" description: Learn about regular expression quantifiers, which specify how many instances of a character, group, or character class must be present in the input to match. ms.date: "08/09/2022" ms.custom: devdivchpfy22 -ms.topic: conceptual +ms.topic: concept-article dev_langs: - "csharp" - "vb" diff --git a/docs/standard/base-types/regular-expression-source-generators.md b/docs/standard/base-types/regular-expression-source-generators.md index bf9c6881f6672..afdef23382edf 100644 --- a/docs/standard/base-types/regular-expression-source-generators.md +++ b/docs/standard/base-types/regular-expression-source-generators.md @@ -1,7 +1,7 @@ --- title: ".NET regular expression source generators" description: Learn how to use regular expression source generators to optimize the performance of matching algorithms in .NET. -ms.topic: conceptual +ms.topic: concept-article ms.date: 05/29/2024 author: IEvangelist ms.author: dapine diff --git a/docs/standard/base-types/regular-expressions.md b/docs/standard/base-types/regular-expressions.md index 9b2b18ef0b387..d23bb6d9c1275 100644 --- a/docs/standard/base-types/regular-expressions.md +++ b/docs/standard/base-types/regular-expressions.md @@ -1,7 +1,7 @@ --- title: ".NET Regular Expressions" description: Use regular expressions to find specific character patterns, validate text, work with text substrings, & add extracted strings to a collection in .NET. -ms.topic: conceptual +ms.topic: concept-article ms.date: "07/26/2022" ms.custom: devdivchpfy22 dev_langs: diff --git a/docs/standard/base-types/string-comparison-net-5-plus.md b/docs/standard/base-types/string-comparison-net-5-plus.md index a63e7a9accbf8..31d2c834b06ae 100644 --- a/docs/standard/base-types/string-comparison-net-5-plus.md +++ b/docs/standard/base-types/string-comparison-net-5-plus.md @@ -1,7 +1,7 @@ --- title: Behavior changes when comparing strings on .NET 5+ description: Learn about string-comparison behavior changes in .NET 5 and later versions on Windows. -ms.topic: conceptual +ms.topic: concept-article ms.date: 02/15/2022 --- diff --git a/docs/standard/base-types/substitutions-in-regular-expressions.md b/docs/standard/base-types/substitutions-in-regular-expressions.md index 0a6bbe9fbe416..2259b541d2ff6 100644 --- a/docs/standard/base-types/substitutions-in-regular-expressions.md +++ b/docs/standard/base-types/substitutions-in-regular-expressions.md @@ -1,7 +1,7 @@ --- title: "Substitutions in Regular Expressions" description: Make substitutions to replace matched text using regular expressions in .NET. Substitutions are language elements recognized only within replacement patterns. -ms.topic: conceptual +ms.topic: article ms.date: "03/30/2017" dev_langs: - "csharp" diff --git a/docs/standard/base-types/the-regular-expression-object-model.md b/docs/standard/base-types/the-regular-expression-object-model.md index 6fda51c5d4b7d..0cdef4ee3782c 100644 --- a/docs/standard/base-types/the-regular-expression-object-model.md +++ b/docs/standard/base-types/the-regular-expression-object-model.md @@ -1,7 +1,7 @@ --- title: "The Regular Expression Object Model" description: Review the regular expression object model in .NET. Work with the regular expression engine, & objects & collections related to matching, grouping, & capturing. -ms.topic: conceptual +ms.topic: article ms.date: "03/30/2017" dev_langs: - "csharp" diff --git a/docs/standard/base-types/type-conversion.md b/docs/standard/base-types/type-conversion.md index 3199316672cff..1482b1f5c8a02 100644 --- a/docs/standard/base-types/type-conversion.md +++ b/docs/standard/base-types/type-conversion.md @@ -1,7 +1,7 @@ --- title: "Type Conversion in .NET" description: Read about type conversion in .NET, which creates a value in a new type that's equivalent to the old type's value, but may not keep the original's identity. -ms.topic: conceptual +ms.topic: article ms.date: 03/30/2017 dev_langs: - "csharp" diff --git a/docs/standard/commandline/syntax.md b/docs/standard/commandline/syntax.md index 79648d416fd72..23c8cea903a94 100644 --- a/docs/standard/commandline/syntax.md +++ b/docs/standard/commandline/syntax.md @@ -7,7 +7,7 @@ helpviewer_keywords: - "command line interface" - "command line" - "System.CommandLine" -ms.topic: conceptual +ms.topic: concept-article --- # Command-line syntax overview for System.CommandLine diff --git a/docs/standard/serialization/system-text-json/fields.md b/docs/standard/serialization/system-text-json/fields.md index d82aca15623ea..ccdd4c907e3cd 100644 --- a/docs/standard/serialization/system-text-json/fields.md +++ b/docs/standard/serialization/system-text-json/fields.md @@ -6,7 +6,7 @@ no-loc: [System.Text.Json, Newtonsoft.Json] dev_langs: - "csharp" - "vb" -ms.topic: conceptual +ms.topic: concept-article --- # Include fields diff --git a/docs/whats-new/dotnet-docs-mod1.md b/docs/whats-new/dotnet-docs-mod1.md index 20311f455781a..6f4174a24fd1d 100644 --- a/docs/whats-new/dotnet-docs-mod1.md +++ b/docs/whats-new/dotnet-docs-mod1.md @@ -14,7 +14,6 @@ Welcome to what's new in the .NET docs for April 2025. This article lists some o ### New articles - [.NET CLI `--interactive` defaults to `true` in user scenarios](../core/compatibility/sdk/10.0/dotnet-cli-interactive.md) -- [Assembly load directory resolves through symbolic links on Windows](../core/compatibility/deployment/9.0/assembly-load-directory.md) - [Default trace context propagator updated to W3C standard](../core/compatibility/core-libraries/10.0/default-trace-context-propagator.md) - [Linux native library resolution no longer uses `netcoredeps`](../core/compatibility/interop/8.0/linux-netcoredeps.md) - [Streaming HTTP responses enabled by default in browser HTTP clients](../core/compatibility/networking/10.0/default-http-streaming.md)