diff --git a/docs/azure/includes/dotnet-all.md b/docs/azure/includes/dotnet-all.md
index fac02198fc347..232f5cd1db060 100644
--- a/docs/azure/includes/dotnet-all.md
+++ b/docs/azure/includes/dotnet-all.md
@@ -1,6 +1,6 @@
| Name | Package | Docs | Source |
| ---- | ------- | ---- | ------ |
-| AI Foundry | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.AI.Projects/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.Projects-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects_1.0.0-beta.2/sdk/ai/Azure.AI.Projects/) |
+| AI Foundry | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.AI.Projects/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/AI.Projects-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects_1.0.0-beta.3/sdk/ai/Azure.AI.Projects/) |
| AI Model Inference | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.AI.Inference/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.Inference-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Inference_1.0.0-beta.2/sdk/ai/Azure.AI.Inference/) |
| Anomaly Detector | NuGet [3.0.0-preview.7](https://www.nuget.org/packages/Azure.AI.AnomalyDetector/3.0.0-preview.7) | [docs](/dotnet/api/overview/azure/AI.AnomalyDetector-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [3.0.0-preview.7](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AnomalyDetector_3.0.0-preview.7/sdk/anomalydetector/Azure.AI.AnomalyDetector/) |
| App Configuration | NuGet [1.5.0](https://www.nuget.org/packages/Azure.Data.AppConfiguration/1.5.0) | [docs](/dotnet/api/overview/azure/Data.AppConfiguration-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.AppConfiguration_1.5.0/sdk/appconfiguration/Azure.Data.AppConfiguration/) |
@@ -556,12 +556,12 @@
| Microsoft.Azure.WebJobs.Extensions.Rpc | NuGet [3.0.41](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Rpc/3.0.41) | | |
| Microsoft.Azure.WebJobs.Rpc.Core | NuGet [3.0.41](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Rpc.Core/3.0.41) | | |
| Service Bus - Message ID plugin | NuGet [2.0.0](https://www.nuget.org/packages/Microsoft.Azure.ServiceBus.MessageIdPlugin/2.0.0) | | |
-| SignalR | NuGet [1.29.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR/1.29.0)
NuGet [1.25.0-preview1-11147](https://www.nuget.org/packages/Microsoft.Azure.SignalR/1.25.0-preview1-11147) | | GitHub [1.29.0](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR) |
-| SignalR - ASP.NET | NuGet [1.29.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR.AspNet/1.29.0) | | GitHub [1.29.0](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR.AspNet) |
+| SignalR | NuGet [1.30.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR/1.30.0)
NuGet [1.25.0-preview1-11147](https://www.nuget.org/packages/Microsoft.Azure.SignalR/1.25.0-preview1-11147) | | GitHub [1.30.0](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR) |
+| SignalR - ASP.NET | NuGet [1.30.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR.AspNet/1.30.0) | | GitHub [1.30.0](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR.AspNet) |
| SignalR - Benchmark | NuGet [1.0.0-preview1-10415](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Benchmark/1.0.0-preview1-10415) | | GitHub [1.0.0-preview1-10415](https://github.com/azure/azure-signalr-bench) |
-| SignalR - Protocols | NuGet [1.29.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Protocols/1.29.0) | | GitHub [1.29.0](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR.Protocols) |
-| SignalR - Serverless Protocols | NuGet [1.10.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Serverless.Protocols/1.10.0) | | GitHub [1.10.0](https://github.com/Azure/azure-functions-signalrservice-extension/tree/v1.2.0/src/Microsoft.Azure.SignalR.Serverless.Protocols) |
-| SignalR Management | NuGet [1.29.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Management/1.29.0) | | GitHub [1.29.0](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR.Management) |
+| SignalR - Protocols | NuGet [1.30.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Protocols/1.30.0) | | GitHub [1.30.0](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR.Protocols) |
+| SignalR - Serverless Protocols | NuGet [1.11.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Serverless.Protocols/1.11.0) | | GitHub [1.11.0](https://github.com/Azure/azure-functions-signalrservice-extension/tree/v1.2.0/src/Microsoft.Azure.SignalR.Serverless.Protocols) |
+| SignalR Management | NuGet [1.30.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Management/1.30.0) | | GitHub [1.30.0](https://github.com/Azure/azure-signalr/tree/v1.5.0/src/Microsoft.Azure.SignalR.Management) |
| SQL Database Elastic Scale Client | NuGet [2.4.2](https://www.nuget.org/packages/Microsoft.Azure.SqlDatabase.ElasticScale.Client/2.4.2) | | GitHub [2.4.2](https://github.com/Azure/elastic-db-tools/tree/v2.3.0/Src/ElasticScale.Client) |
| SQL Database Elastic Scale Service SplitMerge | NuGet [1.2.0](https://www.nuget.org/packages/Microsoft.Azure.SqlDatabase.ElasticScale.Service.SplitMerge/1.2.0) | | |
| SQL Database Jobs | NuGet [0.8.3362.1](https://www.nuget.org/packages/Microsoft.Azure.SqlDatabase.Jobs/0.8.3362.1) | | |
@@ -574,7 +574,7 @@
| Hyak Common | NuGet [1.2.2](https://www.nuget.org/packages/Hyak.Common/1.2.2) | | |
| Hyak Common - Tracing Etw | NuGet [1.0.2](https://www.nuget.org/packages/Hyak.Common.Tracing.Etw/1.0.2) | | |
| Hyak Common - Tracing Log4Net | NuGet [1.0.2](https://www.nuget.org/packages/Hyak.Common.Tracing.Log4Net/1.0.2) | | |
-| Microsoft.Azure.SignalR.Emulator | NuGet [1.6.0](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Emulator/1.6.0)
NuGet [1.0.0-preview1-10809](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Emulator/1.0.0-preview1-10809) | | |
+| Microsoft.Azure.SignalR.Emulator | NuGet [1.6.1](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Emulator/1.6.1)
NuGet [1.0.0-preview1-10809](https://www.nuget.org/packages/Microsoft.Azure.SignalR.Emulator/1.0.0-preview1-10809) | | |
| MSBuild | NuGet [0.32.0](https://www.nuget.org/packages/Microsoft.TypeSpec.MSBuild/0.32.0) | | |
| ProviderHub Controller | NuGet [0.18.0](https://www.nuget.org/packages/Microsoft.TypeSpec.ProviderHub.Controller/0.18.0) | | |
| ProviderHub Templates | NuGet [1.10.0](https://www.nuget.org/packages/Microsoft.TypeSpec.ProviderHub.Templates/1.10.0) | | |
diff --git a/docs/azure/includes/dotnet-new.md b/docs/azure/includes/dotnet-new.md
index 255e183cff914..87b815adc6dcb 100644
--- a/docs/azure/includes/dotnet-new.md
+++ b/docs/azure/includes/dotnet-new.md
@@ -1,6 +1,6 @@
| Name | Package | Docs | Source |
| ---- | ------- | ---- | ------ |
-| AI Foundry | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.AI.Projects/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.Projects-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects_1.0.0-beta.2/sdk/ai/Azure.AI.Projects/) |
+| AI Foundry | NuGet [1.0.0-beta.3](https://www.nuget.org/packages/Azure.AI.Projects/1.0.0-beta.3) | [docs](/dotnet/api/overview/azure/AI.Projects-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.3](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Projects_1.0.0-beta.3/sdk/ai/Azure.AI.Projects/) |
| AI Model Inference | NuGet [1.0.0-beta.2](https://www.nuget.org/packages/Azure.AI.Inference/1.0.0-beta.2) | [docs](/dotnet/api/overview/azure/AI.Inference-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [1.0.0-beta.2](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Inference_1.0.0-beta.2/sdk/ai/Azure.AI.Inference/) |
| Anomaly Detector | NuGet [3.0.0-preview.7](https://www.nuget.org/packages/Azure.AI.AnomalyDetector/3.0.0-preview.7) | [docs](/dotnet/api/overview/azure/AI.AnomalyDetector-readme?view=azure-dotnet-preview&preserve-view=true) | GitHub [3.0.0-preview.7](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.AnomalyDetector_3.0.0-preview.7/sdk/anomalydetector/Azure.AI.AnomalyDetector/) |
| App Configuration | NuGet [1.5.0](https://www.nuget.org/packages/Azure.Data.AppConfiguration/1.5.0) | [docs](/dotnet/api/overview/azure/Data.AppConfiguration-readme) | GitHub [1.5.0](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Data.AppConfiguration_1.5.0/sdk/appconfiguration/Azure.Data.AppConfiguration/) |
diff --git a/docs/core/extensions/dependency-injection-basics.md b/docs/core/extensions/dependency-injection-basics.md
index 57dccafa9b8e4..b485753d8f692 100644
--- a/docs/core/extensions/dependency-injection-basics.md
+++ b/docs/core/extensions/dependency-injection-basics.md
@@ -3,7 +3,7 @@ title: Dependency injection basics
description: Learn how to use dependency injection (DI) in your .NET apps with this simple example. Follow along with this pragmatic guide to understand DI basics in C#.
author: IEvangelist
ms.author: dapine
-ms.date: 07/30/2024
+ms.date: 01/22/2025
no-loc: [Transient, Scoped, Singleton, Example]
---
@@ -87,7 +87,7 @@ The preceding updated code demonstrates the how-to:
- Create a new `ServiceCollection` instance.
- Register and configure services in the `ServiceCollection`:
- - The `IConsole` using the implementation factory overload, return a `DefaultConsole` type with the `IsEnabled` set to `true.
+ - The `IConsole` using the implementation factory overload, return a `DefaultConsole` type with the `IsEnabled` set to `true`.
- The `IGreetingService` is added with a corresponding implementation type of `DefaultGreetingService` type.
- The `FarewellService` is added as a concrete type.
- Build the `ServiceProvider` from the `ServiceCollection`.
diff --git a/docs/core/install/includes/verify-download-macos-linux.md b/docs/core/install/includes/verify-download-macos-linux.md
index 76f02844d5140..4283bdd0afb52 100644
--- a/docs/core/install/includes/verify-download-macos-linux.md
+++ b/docs/core/install/includes/verify-download-macos-linux.md
@@ -43,7 +43,7 @@ The .NET release notes contain a link to a checksum file you can use to validate
Replace the link in the following command with the link you copied.
```bash
- curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
+ curl -O https://builds.dotnet.microsoft.com/dotnet/checksums/8.0.0-sha.txt
```
01. With both the checksum file and the .NET release file downloaded to the same directory, use the `sha512sum -c {file} --ignore-missing` command to validate the downloaded file.
diff --git a/docs/core/install/includes/verify-download-windows.md b/docs/core/install/includes/verify-download-windows.md
index b33ee0d8c9224..770de9692cc7b 100644
--- a/docs/core/install/includes/verify-download-windows.md
+++ b/docs/core/install/includes/verify-download-windows.md
@@ -43,7 +43,7 @@ The .NET release notes contain a link to a checksum file you can use to validate
01. Use the following script, but replace the link to download the appropriate checksum file:
```powershell
- Invoke-WebRequest https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt -OutFile 8.0.0-sha.txt
+ Invoke-WebRequest https://builds.dotnet.microsoft.com/dotnet/checksums/8.0.0-sha.txt -OutFile 8.0.0-sha.txt
```
01. With both the checksum file and the .NET release file downloaded to the same directory, search the checksum file for the checksum of the .NET download:
diff --git a/docs/core/resilience/http-resilience.md b/docs/core/resilience/http-resilience.md
index 8ec42c1d20172..79e64b5097d25 100644
--- a/docs/core/resilience/http-resilience.md
+++ b/docs/core/resilience/http-resilience.md
@@ -102,6 +102,16 @@ Additionally, these strategies handle the following exceptions:
- `HttpRequestException`
- `TimeoutRejectedException`
+#### Disable retries for a given list of HTTP methods
+
+By default, the standard resilience handler is configured to make retries for all HTTP methods. For some applications, such behavior could be undesirable or even harmful. For example, if a POST request inserts a new record to a database, then making retries for such a request could lead to data duplication. If you need to disable retries for a given list of HTTP methods you can use the method:
+
+:::code language="csharp" source="snippets/http-resilience/Program.RetryOptions.cs" id="disable_for":::
+
+Alternatively, you can use the method, which disables retries for `POST`, `PATCH`, `PUT`, `DELETE`, and `CONNECT` requests. According to [RFC](https://www.rfc-editor.org/rfc/rfc7231#section-4.2.1), these methods are considered unsafe; meaning their semantics are not read-only:
+
+:::code language="csharp" source="snippets/http-resilience/Program.RetryOptions.cs" id="disable_for_unsafe_http_methods":::
+
## Add standard hedging handler
The standard hedging handler wraps the execution of the request with a standard hedging mechanism. Hedging retries slow requests in parallel.
diff --git a/docs/core/resilience/snippets/http-resilience/Program.RetryOptions.cs b/docs/core/resilience/snippets/http-resilience/Program.RetryOptions.cs
index f49b9d68c829e..080682b91b862 100644
--- a/docs/core/resilience/snippets/http-resilience/Program.RetryOptions.cs
+++ b/docs/core/resilience/snippets/http-resilience/Program.RetryOptions.cs
@@ -13,4 +13,24 @@ private static void ConfigureRetryOptions(HostApplicationBuilder builder)
builder.Services.Configure(section);
//
}
+
+ private static void DisableRetriesFor(IHttpClientBuilder httpClientBuilder)
+ {
+ //
+ httpClientBuilder.AddStandardResilienceHandler(options =>
+ {
+ options.Retry.DisableFor(HttpMethod.Post, HttpMethod.Delete);
+ });
+ //
+ }
+
+ private static void DisableRetriesForUnsafeHttpMethods(IHttpClientBuilder httpClientBuilder)
+ {
+ //
+ httpClientBuilder.AddStandardResilienceHandler(options =>
+ {
+ options.Retry.DisableForUnsafeHttpMethods();
+ });
+ //
+ }
}
diff --git a/docs/fundamentals/code-analysis/style-rules/ide0033.md b/docs/fundamentals/code-analysis/style-rules/ide0033.md
index 162130d46a2b2..381fe03ee1529 100644
--- a/docs/fundamentals/code-analysis/style-rules/ide0033.md
+++ b/docs/fundamentals/code-analysis/style-rules/ide0033.md
@@ -48,7 +48,7 @@ Options specify the behavior that you want the rule to enforce. For information
var name = customer.name;
// dotnet_style_explicit_tuple_names = false
-(string name, int age) customer = GetCustomer();
+(string, int) customer = GetCustomer();
var name = customer.Item1;
```
@@ -58,7 +58,7 @@ Dim customer As (name As String, age As Integer) = GetCustomer()
Dim name = customer.name
' dotnet_style_explicit_tuple_names = false
-Dim customer As (name As String, age As Integer) = GetCustomer()
+Dim customer As (String, Integer) = GetCustomer()
Dim name = customer.Item1
```
diff --git a/docs/index.yml b/docs/index.yml
index 2199bf156c660..d0e6fc68cc250 100644
--- a/docs/index.yml
+++ b/docs/index.yml
@@ -372,9 +372,9 @@ additionalContent:
summary: API reference documentation for ML.NET
url: ../api/index.md?view=ml-dotnet&preserve-view=true
# Card
- - title: ".NET Package-provided API reference"
- summary: Reference documentation for package-provided .NET APIs
- url: ../api/index.md?view=dotnet-9.0-pp&preserve-view=true
+ - title: ".NET Aspire API reference"
+ summary: Reference documentation for .NET Aspire
+ url: ../api/index.md?view=dotnet-aspire-9.0&preserve-view=true
# Card
- title: "C# language reference"
summary: C# language reference and specification