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

Vista: 36585|Resposta: 3

[ASP.NET] C# é um serviço do Windows que executa tarefas regularmente

[Copiar link]
Publicado em 27/04/2019 17:56:09 | | | |


prefácio

Dando continuidade ao artigo anterior sobre o Agendador de Tarefas do Windows, este artigo irá registrar a criação dos serviços Windows.
Ambiente e Ferramentas

>Sistema Windows 10

>VS 2017

Texto

1: Crie uma nova solução e crie um serviço Windows. O nome é "WindowsServiceDemo.exe






2: Clique duas vezes no arquivo "Service1.cs", clique com o botão direito no espaço em branco > selecione "Adicionar instalador".







3: Nos dois componentes gerados, clique no componente "serviceProcessInstaller1" e, no formulário de propriedades, defina o tipo de conta "Account" como "LocalSystem".





4: Nos dois componentes gerados, clique no componente "serviceInstaller1", no formulário de propriedades, defina as propriedades correspondentes e então salve.




5: Clique com o botão direito em "Service1.cs" – > selecione "Ver Código".






6: No método correspondente, escreva a lógica de processamento. Método OnStart(): refere-se ao método que entra quando o serviço Windows inicia. OnStop(): Como o nome sugere, essa é a forma de entrar quando o serviço para. Podemos escrever um temporizador para permitir que o programa processe a lógica na relação sexual regular.






7: Crie dois arquivos de bloco de notas, nomeie e modifique os nomes dos sufixos "Install.bat" e "Uninstall.bat", respectivamente. Nota: O nome do sufixo é .bat. Cole dentro do projeto. E mude o atributo para "Copiar para local".



8: Os dois arquivos que criamos agora agora são para instalar e desinstalar o serviço. Agora escreva o código lote nesses dois arquivos e salve.
Abra o arquivo "Install.bat" e escreva o seguinte código
Nota: "WindowsServiceDemo.exe" é o programa exe que acabou de gerar. "AServiceTest" é o conjunto "ServiceName" no componente "serviceInstaller1".

Abra o arquivo "Uninstall.bat" e escreva o seguinte código


9: F6 gera isso. No diretório "bin\Debug" do projeto. Clique com o botão direito em "Install.bat" – > selecione "Executar como administrador".



Assim que a instalação do serviço estiver concluída. Podemos ver que o arquivo "Log.txt" escreve uma linha de dados a cada 10 segundos.


Podemos ver os serviços instalados.
Run – > digite "services.msc" enter (entre em services.msc).



Pare o serviço agora. Clique com o botão direito em "Uninstall.bat" – > selecione "Executar como administrador".



Depois que o serviço for desinstalado. Podemos ver que o arquivo "Log.txt" também tem uma linha de dados escrita.



#Depuração de serviços do Windows

Os serviços do Windows não podem ser iniciados diretamente com F5, F10 depurado. Então, como depurar o programa se houver alguma anomalia?
1: Primeiro, use o administrador para rodar o arquivo "Install.bat" e deixe o programa rodar primeiro.

2: Volte ao VS e selecione "Depurar" na barra de menu – > selecione "Anexar ao Processo".





3: No formulário pop-up, marque "Mostrar todos os processos dos usuários", encontre o .exe aplicativo que geramos e clique em "Anexar".




4: Quebrar o ponto no método, para que, quando ele rodar por um certo tempo, possa acionar a depuração.



Epílogo

A depuração do serviço do Windows é muito problemática, às vezes o programa está escrito em um problema e o serviço não consegue iniciar, o que dificulta a depuração. Geralmente, a escrita de serviços Windows será acompanhada por um aplicativo de console. Depure no aplicativo de console e depois mova para os Serviços do Windows. O próximo tópico descreverá uma forma mais simples de criar um serviço Windows.


Nota: Os arquivos batch iniciados e desinstalados pelos dois programas devem ser executados como administradores. Caso contrário, estará incorreto.









Anterior:Algoritmos Comuns para Compartilhamento de Big Data (Aplicações)
Próximo:O uso do Topshelf para tarefas de execução agendada em C#
Publicado em 08/05/2019 10:59:16 |
Obrigado por compartilhar, na hora certa, me envie
Publicado em 22/06/2020 14:04:33 |
Sempre relate esse erro
 Senhorio| Publicado em 07/09/2020 15:21:59 |

O comando rodando está errado, esse serviço não está instalado. Se você está instalando tocando na linha de comando, pode consultar meu próximo post.
O uso do Topshelf para tarefas de execução agendada em C#
https://www.itsvse.com/thread-7503-1-1.html

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