Background Services no .NET Core são tarefas que rodam no fundo, mesmo quando a aplicação não está interagindo com elas.

Quando Usar

Podem ser úteis para coisas como monitorar uma fila, gerar relatórios ou enviar e-mails.

IHostedService

No ASP.NET Core, para rodar essas tarefas, você precisa usar a interface IHostedService. A classe BackgroundService ajuda a implementar isso de forma mais fácil.

Como Funciona

  • StartAsync: Roda quando a aplicação inicia e recebe um CancellationToken.
  • ExecuteAsync: Você precisa implementar esse método na sua classe; ele retorna uma Task.
  • StopAsync: Usado quando a aplicação está fechando.

Ficar de Olho

Usar Background Services é ótimo, mas é importante tomar cuidado para não sobrecarregar o sistema. Para tarefas simples, eles são uma boa escolha.

Código na Prática

No Visual Studio, ao criar um projeto ASP.NET Core, você pode criar um Background Service fazendo uma nova classe, como GeneratePdfService.cs.

novoprojetovs2019

aspnetcore

nomeprojeto

Depois disso, adicione o código necessário e ajuste o Startup.cs para incluir o serviço.

Finalizando

Criar um Background Service é simples e permite que você adicione tarefas assíncronas ao seu aplicativo. Espero que tenha ajudado. Comente ou pergunte se tiver dúvidas!