Конвейеры на Channels: как не получить тихую утечку памяти и вечно висящий воркер

Неограниченный канал спокойно работает до первого замедления потребителя, после чего очередь начинает расти, память — заканчиваться, а фоновый воркер может зависнуть при остановке сервиса.
В статье разберём, как строить конвейеры на System.Threading.Channels: настраивать обратное давление, корректно завершать обработку, не терять исключения и безопасно использовать каналы в ASP.NET Core.
Это отрывок статьи. Полную версию читайте на сайте источника по ссылке ниже.
Источник: Habr