Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 39816|Resposta: 3

[.NET Core] Um serviço baseado no .NET Core no Linux

[Copiar link]
Publicado em 29-10-2020 14:20:02 | | | |
O .NET CORE 3.0 adiciona novos modelos de projeto para Worker Services, que podem ser usados para escrever serviços em segundo plano de longa duração e facilmente implantá-los como serviços Windows ou daemons Linux. Se o vs2019 instalado for a versão chinesa, Serviços ao Trabalhador passa a ser uma função de trabalhador.

Ambiente de sistema Linux: CentOS 8 x64-bit

Criar um novo projeto de Serviço ao Trabalhador

Primeiro, abrir o VS 2019 para criar um novo projeto de Serviço ao Trabalhador.



Serviços Linux, preciso adicionar:

Se for um serviço Windows, você precisará adicionar:

Se você quiser rodar um conjunto de programas em vários lugares, pode simplesmente instalar dois pacotes ao mesmo tempo. Em seguida, no CreateHostBuilder, adicione UseWindowsService() e UseSystemd().



A função implementada pelo projeto é escrever logs no arquivo /test/file.txt, e o código principal é o seguinte:



O código da tarefa do WriteFile é o seguinte:

Devido a questões de permissões, o programa não pode criar automaticamente a pasta /test, o que será discutido abaixo.

Implantar serviços para o CentOS

SimInstale o runtime do .NET Core(Excluindo ASP.NET suporte Core)




Se você quiser instalar um runtime que suporte ASP.NET Core, pode executar o seguinte comando:

[raiz@localhost~]# dotnet --list-runtimes
Microsoft.NETCore.App 3.1.7 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]


Crie uma pasta /test e conceda as permissões da seguinte forma:

Na pasta /etc/systemd/system, crie o arquivo de configuração do serviço itsvse.service da seguinte forma:

Adicionar contas de serviço e criar pastas

Publique e envie o Job.Service para o servidor /home/dotnetuser/job directory e publique a configuração da seguinte forma:



Ligue o serviço

Após o início do serviço, você pode ver que pode escrever arquivos normalmente, como mostrado na figura a seguir:



Código fonte para download:

Turistas, se quiserem ver o conteúdo oculto deste post, por favorResposta


(Fim)




Anterior:ASP.NET WebApi usa MessageHandlers para unificar o formato do modelo da interface de retorno
Próximo:Serviço web API de console baseado em HttpSelfHostServer
 Senhorio| Postado em 2020-10-30 09:28:44 |
Exemplo de saída:
informação: ExemploHostedService[0]
//           1. StartAsync foi chamado.
informação: ExemploHostedService[0]
//           2. OnStarted foi chamado.
informações: Microsoft.Hosting.Lifetime[0]
Inscrição iniciada. Pressione Ctrl+C para desligar.
informações: Microsoft.Hosting.Lifetime[0]
Ambiente de recepção: Produção
informações: Microsoft.Hosting.Lifetime[0]
Caminho raiz do conteúdo: .. \app-lifetime\bin\Debug\net5.0
informação: ExemploHostedService[0]
//           3. O OnStopping foi chamado.
informações: Microsoft.Hosting.Lifetime[0]
A aplicação está sendo encerrada...
informação: ExemploHostedService[0]
//           4. O StopAsync foi chamado.
informação: ExemploHostedService[0]
//           5. OnStopped já foi chamado.


 Senhorio| Postado em 2020-11-6 13:53:00 |
aula de resumo público BackgroundService: IHostedService, IDisposable

A interface IHostedService oferece uma maneira conveniente de iniciar tarefas em segundo plano em aplicações web ASP.NET Core (em .NET Core 2.0 e versões posteriores) ou em qualquer processo/host (começando pelo .NET Core 2.1 usando IHost). Sua principal vantagem é que isso pode ser feito quando o próprio host está prestes a desligarExiste uma chanceFaça um cancelamento normal para limpar o código das tarefas em segundo plano.
 Senhorio| Postado em 27-04-2021 às 15:57:28 |
Registrar o método de extensão de serviço backend

Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com