Wie man Fire-and-Forget-Arbeit in ASP.NET Core mit BackgroundService sicher ausführt
Ein Aufruf von Task.Run aus einem Controller verliert Arbeit beim Herunterfahren, verschluckt Exceptions und erfasst bereits freigegebene scoped Services. Das sichere Muster ist eine begrenzte Channel-Queue, die von einem BackgroundService geleert wird, der pro Arbeitseinheit einen neuen Scope öffnet und laufende Arbeit in StopAsync abschließt.