I’ve been building .NET apps for about seven years, and I keep running into the same problem.
For background jobs, my default answer has usually been Hangfire.
And to be clear: I like Hangfire.
No shade at all. It is simple, reliable, and boring in the best way.
BackgroundJob.Enqueue(() => SendWelcomeEmail(userId));









