Recentemente, surgiu a necessidade de criar um serviço de serviço Windows para ser executado regularmente, e depois de escrevê-lo com o net core, percebi que ele não podia ser executado como um serviço.
Depois de procurar no jardim, há várias soluções, cada uma com seus próprios méritos. Depois de ler, achei que não era muito conveniente, então pensei em minhas próprias ideias para lidar com isso. A solução final é escrever três ou quatro linhas de código em posershell e, assim que for executado, a tarefa agendada pode ser adicionada com sucesso
Primeiro de tudo, escreva um programa de console para o net core. O programa de console executa sua lógica de processamento.
O código não mostra ......
Depois publique o código na pasta do Zhibao, e você precisa registrar o nome da dll do seu console. Sim, o nome DLL, o programa de console NET Core, não cria um arquivo exe por padrão.
Copie o caminho da pasta publicada,
O código a seguir pode ser escrito em qualquer editor, eu o escrevi usando o Powershell ISE embutido do sistema.
Código para ilustrar,
Registrar uma tarefa agendada (Register-ScheduledJob) no sistema, especificar o nome do cronograma (-Nome), especificar o script a ser executado (-ScriptBlock), conteúdo do script (caminho dotnet),
Especifique um gatilho (-Trigger), crie um novo gatilho Especifique o horário de início da corrida, especifique o intervalo entre as execuções (-IntervaloRepetição), execute uma vez por hora (01:00:00) e especifique uma execução indefinida (-RepetirIndefinidamente)
Basta executar o script Powershell acima para adicionar uma tarefa agendada ao sistema.
Simples e conveniente o suficiente.
Unregister-ScheduledJob -Name XXXXService --- Exclua a tarefa agendada.
|