TGViewer
C# (C Sharp) programming C# (C Sharp) programming @csharp_ci · 18.1K subscribers
Post #1622 5.06K
Как сделать .NET-приложения устойчивыми с помощью Polly

Polly — это мощная библиотека для обработки сбоев и нестабильных сетевых вызовов в .NET.
С её помощью можно легко добавить retry, timeout, circuit breaker и другие стратегии отказоустойчивости.

На картинке показан пример, где применяется два ключевых механизма:

1) Retry (повтор запроса при ошибках)
— Обрабатываем конфликты через Handle<ConflictException>()
— Делаем паузу между попытками (`Delay = 1 сек`)
— Используем экспоненциальный backoff
— Добавляем jitter, чтобы избежать «шторма» повторов
— Ограничиваем количество попыток (`MaxRetryAttempts = 2`)

2) Timeout (ограничение времени выполнения)
— Ставим таймаут в 10 секунд на сетевой запрос

Далее создаётся pipeline и выполняется HTTP-запрос:

await pipeline.ExecuteAsync(async ct ⇒ await httpClient.GetAsync("https://modularmonolith.com", ct));

Эти две стратегии уже дают серьёзную устойчивость:
запросы не зависают, ошибки перехватываются, приложение остаётся стабильным даже при нестабильных сервисах.


https://github.com/App-vNext/Polly
More from @csharp_ci
  1. Oct 2, 2026Post #1891
  2. Sep 29, 2026🖥 C# снова показывает, что «удобный язык = медленный язык» давно не работает. Автор ttfx…
  3. Sep 29, 2026🌦️ Красивый пример того, как может выглядеть современное приложение на Aspire Команда пок…
  4. Sep 27, 2026⚡ .NET 11 ускорили почти везде - от JIT и GC до LINQ и networking Stephen Toub выпустил ог…
  5. Sep 23, 2026🐞 Когда логов недостаточно: дамп памяти из C# Баг возникает только на проде, а локально в…
  6. Sep 21, 2026Awesome Jev - большая подборка инструментов для новой модели TypeSafe AI 🤗 Jev - новая бы…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →