2026-10-27 pollyresiliencedotnet Polly 8.8.1: サーキットブレーカーが最初の呼び出し元の AsyncLocal 値を保持し続けなくなりました Polly.Core 8.8.1 はサーキットブレーカーのバックグラウンドループを ExecutionContext.SuppressFlow の下で開始するため、長寿命のパイプラインがそれを構築した側の AsyncLocal 値を保持しなくなりました。15 行の再現コードで 8.8.0 のリークと 8.8.1 の修正を示します。
2026-09-23 dotnet-10httpclientresilience 修正: AddStandardResilienceHandler でカスタム DelegatingHandler がリトライのたびに実行されない問題 AddStandardResilienceHandler より前に登録した DelegatingHandler は、リトライごとではなく論理リクエストごとに 1 回しか実行されません。レジリエンスハンドラーの後ろに移動し、リトライが同じ HttpRequestMessage を再送信するため、ハンドラーを冪等にしてください。Microsoft.Extensions.Http.Resilience 10.10.0 と 8.10.0 で計測しています。
2026-09-18 pollyresiliencedotnet Polly 8.8 は独自の IOptionsMonitor からレジリエンスパイプラインをリロードできます Polly 8.8.0 で EnableReloadsWithMonitor が追加され、DI に登録されていない機能フラグやリモート設定のモニターからレジリエンスパイプラインをホットリロードできるようになりました。検証コードで再構築の様子を示すとともに、落とし穴を 1 つ紹介します。context.GetOptions は引き続き DI のモニターを読むため、既定値が返されます。
2026-08-10 aspiredotnetdotnet-11 Aspire が登録する既定のレジリエンスハンドラーを上書きする方法 Aspire の AddServiceDefaults はすべての HttpClient に標準レジリエンスハンドラーを適用します。AddStandardResilienceHandler をもう一度呼んでも置き換えにはならず、2 つ目のハンドラーが積み重なります。実際に上書きする 3 つの方法、どこにも書かれていないオプション名 -standard、そして単に削除しただけで引き継いでしまう無限タイムアウトを解説します。
2026-05-24 comparisonpollyresilience .NET 11 における Polly と resilience handler の比較: どちらを使うべきか? HttpClient の呼び出しには Microsoft.Extensions.Http.Resilience の resilience handler を使ってください。これは HTTP を理解したデフォルト値とテレメトリを 1 行で備えた Polly そのものだからです。HttpClient ではないものを保護する場合にのみ、Polly の ResiliencePipeline を直接使ってください。