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.
|