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));