Por que eu devo ler este artigo:Esse artigo será útil para quem deseja aprender de uma forma bem simples como criar um serviço no Windows, abordando questões fundamentais como: o que é um Windows Service, como funciona, para que serve e o que é necessário para se desenvolver um aplicativo Windows Service.

Veremos todos esses conceitos aplicados em exemplos práticos, nos quais demonstraremos a utilização deste tipo de aplicação em cenários comuns, nos quais se faz necessária a execução de uma aplicação em segundo plano no sistema operacional, sem que haja interação direta com o usuário.

Vamos começar explicando um pouco, numa breve introdução, sobre no que consiste um Windows Service. Como o próprio nome diz, é um serviço do Windows, que nada mais é do que uma aplicação que inicia quando o Windows é carregado, ou sob demanda, e roda em segundo plano, ou seja, em background, enquanto o Windows estiver em execução.

Mesmo que você esteja na tela de login do Windows, por exemplo, o serviço pode estar sendo executado e fica residente na memória executando as operações que o serviço foi programado para realizar.

Os serviços do Windows sempre rodam em segundo plano no sistema operacional e são os responsáveis pelas tarefas essenciais, tais como serviços de impressão e serviços de e-mail.

Os serviços do Windows, quando inicializados corretamente, podem auxiliar no melhoramento do desempenho de sua máquina. É possível acessar determinado serviço desde que o mesmo esteja sendo executado e monitorar o desempenho e quais serviços estão sendo executados naquele momento pela CPU.

Existem muitos serviços que são conhecidos por todos, como os do SQL Server, do Microsoft Exchange, serviços de impressão, serviços de e-mail e etc.

Após a criação e construção do serviço, você poderá instalá-lo e executá-lo, o que pode ser feito usando o Gerenciador de Controle de Serviços, através da execução de comandos. Muitos desses comandos também podem ser realizados no Server Explorer ou no Service Controller, veremos tudo com mais detalhes mais adiante.

Uma aplicação Windows Service pode rodar em servidor ou estação de trabalho. Além disso, são frequentemente usados para executar o monitoramento de algum sistema, ou auxiliar algum sistema em tarefas que não dependem da interação com usuários.

Os Windows Services não estão disponíveis no Windows 95, 98 ou ME, você precisa ter uma versão do Windows NT ou superior (2000, XP, Vista, 7,8 ou Windows Server) para rodar esses serviços.

Através da ferramenta Visual Studio podemos criar um aplicativo que vai ser instalado como um serviço, onde você deverá definir as instruções antes de compilar o projeto e instalar em determinada máquina.

Mas antes de se criar um aplicativo Windows Service é necessário saber como manipular esses aplicativos, executando ações como Inicializar, Pausar, Parar e Finalizar esses serviços.

Todas essas ações podem ser desempenhadas via códigos dentro da aplicação, mas para o usuário final, ou qualquer um que não seja o próprio desenvolvedor, elas podem ser acessadas através de algumas etapas que serão mostradas logo a seguir.

Precisamos saber, antes de tudo, que as classes de serviço do Windows suportadas pelo .NET Framework não permitem a interação com estações interativas, que é o usuário conectado.

Um outro item importante é que o .NET Framework também não contém classes que representam estações e áreas de trabalho, e caso o seu serviço do Windows tenha que interagir com outras estações, vai ser preciso que você acesse a API do Windows não gerenciada.

Acessando os serviços do Windows

Antes de criar um novo serviço, vamos conhecer primeiramente a tela de serviços disponibilizados pelo Windows. Para acessar o “Sistema Gerenciador de Serviços do Windows” é necessário seguir alguns passos que vamos descrever a seguir.

Então, começaremos acessando o menu iniciar e clicando em painel de controle, depois em desempenho e manutenção, e por último em ferramentas administrativas e serviços.

Ou também por outro caminho, apenas clicando em Iniciar> Executar e digitando services.msc, como mostra a Figura 1. A tela de Executar também pode ser acessada utilizando o menu Windows + R.

Figura 1. Abrindo o gerenciador de serviços a partir do menu Executar

Na Figura 2 vemos a tela de serviços do Windows, que exibe a relação dos serviços executados com várias informações sobre eles, como nome, descrição, status, tipo de inicialização, etc. Nesta tela também é possível iniciar, pausar e interromper os serviços, bastando clicar com a direita sobre eles ou usar o menu da barra superior.

abrir imagem em nova janela

Figura 2.Tela de serviços do Windows.

Criando um serviço

Agora que já sabemos o que é um Windows Service, vamos começar a criar a nossa aplicação no Visual Studio. Para os iniciantes em programação com o .NET Framework, pode ser um pouco confuso entender a lógica de como criar um aplicativo Windows Service, uma vez que se trata de um serviço e não será necessário possuir uma interface, o mesmo rodará em segundo plano em nossa máquina assim que for inicializado.

Mas iremos aprender passo a passo e você vai perceber que o processo é bem simples e então, após desenvolver e compilar nosso aplicativo, ele ficará apto a ser instalado e executado a partir de uma linha de comando "InstallUtil.exe", passando o caminho para o arquivo executável de serviço.

O sistema do Windows oferece um gerenciamento desses serviços que é o "Gerenciador de Controle e Serviços", o qual iremos entender com detalhes mais adiante.

...
Quer ler esse conteúdo completo? Tenha acesso completo