NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosWindows : Aplicacaowindowsservice
Quer receber novidades e e-books gratuitos?
Criando uma aplicação Windows Service

Introdução

As aplicações Windows Services possuem recursos para rodar continuamente, normalmente são device driver ou outros serviços operacionais. Uma aplicação Windows service pode ter um status de habilitado ou desabilitado conforme os requisitos do cliente. Bom exemplo para este tipo de aplicação é o Microsoft SQL Server que fica continuamente rodando no servidor, sempre esperando alguma interação do usuário. O .NET Framework tem uma classe que disponibiliza as funcionalidades básicas para uma aplicação Windows Service.
Neste artigo vou usar as duas principais classes para criar uma aplicação Windows Service e debulhar essa aplicação. As Classes utilizadas serão:

  • System.ServiceProcess.ServiceBase;
  • System.ServiceProcess.ServiceController.

Breve introdução às aplicações Windows Service

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.

Todo Windows Service roda com permissão de algum usuário, independente dos usuários ou programas que estão rodando no mesmo computador, estas aplicações rodam sob uma identidade de segurança, ou seja, não necessariamente a que está ligada na máquina no momento.

Observe que uma aplicação Windows Service não possuí interface com elementos iguais a outras aplicações windows como:  text box, combo box e etc. Um windows service não provê meios de interação com o usuário. E irá reportar o resultado e os seus eventos ao usuário através de mensagens no evento log.

O administrador poderá interagir e gerenciar uma aplicação Windows Service usando o Component Services.

Estas ferramentas se encontram em diferentes menus dependendo do sistema operacional que está usando, no Windows XP encontra-se em:

Start / Control Panel / Administrative Tolls / Component Services

O Component Services no nodo Services exibe uma lista com todos os serviços que estão registrados no sistema operacional. Para cada serviço podemos ver o nome, descrição e o status (Started, Paused ou Stopped), O tipo de inicialização (automática no boot ou manual) e a identidade do serviço. Ainda usando os menus e a toolbar temos acesso a comandos como: Start, stop, pause, continue e restart. Também podemos ver as propriedades da aplicação na caixa de diálogo e alterar as configurações do serviço.

Como alternativa podemos visualizar os Windows Services rodando no computador diretamente do Visual Studio .Net usando o Server Explorer. Para abrir o Server Explorer siga os passoas abaixo:

Passo 1: Abra um novo projeto com o Visual Studio .NET, acesse a janela Server Explorer.

Passo 2: Expanda o nodo Servers.

Conhecendo o ServiceBase Classe

Vamos conhecer os requisitos básicos para criar uma aplicação Windows Service, podemos concentrar a criação de um serviço com funções customizadas, para isso nós implementaremos um método parente do ServiceBase Class.  O ServiceBase Class também define propriedades que podemos setar para causar efeito no serviço.

Métodos do ServiceBase Class:

  • OnContinue : Este método é usado para continuar rodando o serviço depois que ele for pausado;
  • OnCustomCommand : Usado quando é necessário implementar ações customizadas pelo objeto ServiceController;
  • OnPause : Este método roda quando existir a necessidade de pausar o serviço.
  • OnPowerEvent : Método chamado quando o status de energia do computador for alterado;
  • OnShutdown : Este método roda antes do computador ser desligado;
  • OnStart : O código contido neste método roda quando o serviço é inicializado;
  • OnStop: O código implementado neste método roda quando o serviço for parado.

Propriedades do ServiceBase Class

  • AutoLog : Se esta propriedade é setada para True em nos eventos de iniciar, parar, pausar e continuar entrará com o registro no Windows Application Evento Log;
  • CanHandlePowerEvent : Quando estiver com o valor igual a True poderá ser editado um código customizado para o OnPowerEvent. Irá permitir que execute algumas ações especiais;
  • CanPauseAndContinue : Quando o valor estiver True permite que o serviço seja pausado;
  • CanShutdown : O valor True permite escrever um código customizado para o método OnShutDown;
  • CanStop : Normalmente o valor desta propriedade é setado para True e permite que o serviço possa ser parado;
  • EventLog :  Se o AutoLog estiver setado para True a mensagem será escrita pelo Windows Application Event Log. Se setado para False poderá ser especificado uma mensagem customizada;
  • ServiceName : Seta ou retorna o nome do serviço.

Criando uma aplicação Windows Service com o Visual Studio .NET

O .NET Framework tem classes que incluem funcionalidades para criarmos um Windows Service e essas classes estão sob o namespace System.ServiceProcess. O Visual Studio .NET oferece um template de projeto que automaticamente seta a referencia para este namespace e também prove alguns código de exemplo.

Para criar a nossa primeira aplicação Windows Service acesse o Visual Studio .NET e siga os passos abaixo:

1. Abra um novo projeto no Visual Studio .NET, em Project Types selecione Visual Basic Projects, em Templates selecione Windows Service; após defina a localização a onde será gravado o fonte deste aplicativo e defina o nome do projeto como WindowsService1.

Na tela que segue clique em: click here to switch to code view. Para que o Visual Studio .NET exiba o código do template.

A próxima tela contém o código do template que será exibido.

Se expandirmos o nodo References no Solution Explorer Window, poderemos ver a referencia que foi adicionada do System.ServiceProcess.

O código default também tem dois procedimentos definidos: OnStart e OnStop. Poderemos adicionar o código customizado para esses e outros métodos implementando o nosso Windows Service.

2. Acesse a guia Service1.vb [Design], nas propriedades do serviço na janela Properties altere as propriedades: AutoLog para False e CanStop para True.

3. Exiba o Visual Studio .NET Toolbox e clique na guia Components. Arraste para área de projeto o componente EventLog.

4. Selecione o componente EventLog1 e nas propriedades altere a propriedade nome para “NossoLog”

5. Expanda o Component Designer Generated Code. Adicone o código no Public Sub New().Este código inicializa um evento de log.

6. Adicione o código para os eventos: OnStart e OnStop. Este código irá registrar a entrada no log conforme o evento.

Concluímos aqui a implementação do nosso Windows Service, para a nossa aplicação rodar, vamos ter que instalar o serviço para que o windows possa iniciar a aplicação. Segue passo a passo como criar a instalação do nosso Windows Service.

1. Clique no Service1 [Design] e exiba a janela de propriedades, no final das janela de propriedades tem um link Add Installer.

2. Clique neste link e observe que no nosso Solution Explorer apareceu mais uma classe chamada ProjectInstaller.vb

É interessante observar que no nosso design da nova classe aparecem dois componentes.

3. Clique ServiceProcessInstaller1 e exiba a janela de propriedades. Selecione a propriedade Account e escolha LocalSystem.

4. Clique em ServiceInstaller1 e exiba a janela de propriedades. Selecione StartType e escolha a opção Automatic.

5. Vamos gerar o nosso serviço para isso, clique com o botão direito do mouse sobre o nome do projeto no Solution Explorer e selecione Build.

6. Selecione a solução no Solution Explorer e clique o menu File/Add Project/ New Project, no Add New Project dialog box selecione Setup and Deployment Projects e selecione o Setup Project Template. O nome para o novo projeto é: NossoLogSetup.

7. No Solution Explorer, clique com o botão direito sobre o NossoLogSetup, selecione Add/Project Output do menu. O Add Project Output Group Exibe será exibido selecione o Primary Output e clique em OK.

8. Novamente como botão direito sobre o NossoLogSetup, selecione View/Custom Actions. Irá aparecer no canto superior esquerdo da tela um item Custom Actions, clique com o botão direito sobre e escolha Add Custom Action. Selecione o Item Primary  Output e deixe este como Active.

9. Clique com o botão direito sobre o nome do projeto no Solution Explore e escolha Build

Instalando e testando Windows Service

1. Dentro do subdiretório Debug do projeto NossoLogSetup irá existir um arquivo Windows Installer com o nome NossoLogSetup.msi. Um duplo clique sobre este arquivo para iniciar a instalação;

2. Aparecerá na tela um Setup Wizard. Aceite tudo no padrão para completar a instalação;

3. Execute o Service Control Manager para verificar se o serviço está instalado corretamente. Para isso siga: Start/Programs/Administrative Tools/Services. Encontraremos o Service1 na lista de serviços.

4. Clique com o botão direito sobre o serviço e escolha propriedades, inicie o serviço.

5. Clique Start/Programs/Administrative Tools/Event Viewer para visualizar o log do nosso serviço.

Conclusão

Aprendemos como funcionam os Serviços do windows e como criar uma aplicação Windows Service. Os serviços do windows sempre rodam no background do sistema operacional e são os responsáveis pelas tarefas essenciais como: serviços de impressão, serviços de e-mail e etc.

O exemplo acima ilustra como é fácil, criar serviços do sistema operacional usando os recursos de classes do .NET Framework e o ambiente de desenvolvimento do Visual Studio .NET.


Web site: www.crespi.pro.br

email: rodrigo@crespi.pro.br


Confira todos os artigos de Windows e Redes:

1 Como Criar Servidores Web com o Windows Server
1 Instalando o Google Chrome Com SCCM 2012 R2
1 Como Mapear Unidade De Rede Com Drive Maps
1 Como Utilizar Grupos Restritos No Active Directory
1 Como configurar o Client Push Installation no System Center
1 Como Criar uma Collection no System Center
1 Como Criar Atalho Na Área De Trabalho Com GPO
1 Como configurar a GPO para o System Center 2012 R2
1 Ninite Software Deployment
1 Guia de Certificação Microsoft
1 Como Alterar A Mascara de Rede No Escopo do DHCP
1 Como Criar uma GPO com WMI Filter
1 Como fazer uma migração de DHCP
1 Como Criar Pacotes de Instalação Automáticos e Silenciosos
1 Certificação ITIL
1 Como fazer download e instalar o VMWare Workstation 11
WINDOWS 7
1 Como Instalar o Windows 7 Automaticamente
1 Como Formatar o Windows 7
1 Os melhores Antivírus para Windows 7
1 Os melhores Aplicativos para Windows 7
1 Os melhores recursos do Windows 7
1 Como usar o Windows 7 para facilitar o seu dia a dia
1 Como escolher entre o Windows 7 e 8
WINDOWS 8
1 Como Formatar o Windows 8
1 Os melhores Antivírus para Windows 8
1 Os melhores Aplicativos para Windows 8
1 Os melhores recursos do Windows 8
1 Como usar o Windows 8 para facilitar o seu dia a dia
1 Principais diferenças entre o Windows 8 e 7
WINDOWS 2003 SERVER
1 Windows 2003 - DNS - Instalação do DNS e Criação de Zonas
1 Windows 2003 - DNS - Configurando as Propriedades de uma Zona
1 Windows 2003 - DNS - Configurando as Propriedades do Servidor DNS
1 Windows 2003 - DNS - Integração do DNS com o Active Directory
1 Windows 2003 - DNS - Atualização Dinâmica
1 Windows 2003 - DNS - Zonas de Pesquisa Inversa
1 Windows 2003 - MBSA - Microsoft Baseline Security Analyzer
1 Windows 2003 - Permissões de Compartilhamento
1 Windows 2003 - Permissões e Compartilhamento de Impressoras
1 Windows 2003 - Permissões NTFS
1 Windows 2003 - WINS - Introdução ao WINS
1 Windows 2003 - WINS - Instalação do WINS
1 Windows 2003 - WINS - Configurando as Propriedades do Servidor WINS
1 Windows 2003 - WINS - Replicação do WINS
1 Windows 2003 - DHCP – Instalação
1 Windows 2003 - DHCP - Configuração de Escopos
1 Windows 2003 - DHCP - Backup e Restore
1 Windows 2003 - DHCP - Compactando a Base de Dados do DHCP
1 Windows 2003 - DHCP - Auditoria no DHCP
1 Windows 2003 - Autenticação
1 Windows 2003 - Modelos de Segurança
WINDOWS - GERAL
1 Saiba Porque o Windows XP se Tornou uma Ameaça
1 Acesso Remoto [vídeo]
1 Como se preparar para os Exames da Microsoft [vídeo]
1 Cenários para utilização do Windows AIK - Parte 2
1 Cenários para utilização do Windows AIK - Parte 1
1 Windows AIK - Kit de Instalação Automática
1 Introdução ao MDT - Microsoft Deployment Toolkit
1 Implementando Infraestrutura entre Matriz e Filial - Parte 1
1 Implementando Infraestrutura entre Matriz e Filial - Parte 2
1 Implementando Infraestrutura entre Matriz e Filial - Parte 3
1 Implementando Infraestrutura entre Matriz e Filial - Parte 4
1 Caminhos de upgrade para o Windows Vista
1 Instalação do Windows Vista
1 Windows Vista Upgrade Advisor
1 Configurações básicas do Windows Mail
1 Contas de usuário no Windows Vista
1 Contatos do Windows
1 Cotas em disco no Windows Vista
1 Discos básicos no Windows Vista
1 Discos dinâmicos no Windows Vista
Seta Vídeo: Usando Sysprep e Ghost
Seta Vídeo: Instalando o Windows XP de forma automatizada
Seta Vídeo: Baixando atualizações do Windows e Integrando na Instalação – Parte 2
Seta Vídeo: Baixando atualizações do Windows e Integrando na Instalação – Parte 1
Seta Vídeo: Criando usuários e grupos no Active Directory com scripts automatizados
Seta Vídeo: RunAs Powerful - Script super poderoso
Seta Certificação - MCTS Windows 7
Seta Vídeo: Instalação do Serviço DNS - Parte 1
Seta Vídeo: Office Communications Server 2007 R2 – Parte 1
1 Virtual PC 2007 - Parte 2 - Instalação do Virtual PC 2007
1 Virtual PC 2007 - Parte 1 - Introdução ao Virtual PC 2007
ACTIVE DIRECTORY
1 Tutorial de Active Directory - Parte 5
1 Tutorial de Active Directory - Parte 4
1 Tutorial de Active Directory - Parte 3
1 Tutorial de Active Directory - Parte 2
1 Tutorial de Active Directory - Parte 1
1 Aprenda a Usar o VMware - Parte 2
1 Aprenda a Usar o VMware - Parte 1
1 Saiba Como Ter Boletos Bancários em Seu Site
1 Alterando o Texto do Botão Iniciar
1 System Restore (Restauração do Sistema)
1 Recovery Console (Console de Recuperação)
1 Pecados Mortais no uso do E-mail - Parte 2
1 Pecados Mortais no uso do E-mail
1 SUS - Implementação e Administração - Parte 2
1 SUS - Implementação e Administração - Parte 1
1 Windows Server 2003 - O novo recurso Shadow Copies
1 Tutorial sobre Profiles
1 Criptografia no Windows 2000 Server e o Agente de Recuperação
1 Tudo sobre Permissões de Segurança: Compartilhamento e NTFS
1 Implementando o DFS: Distributed File System
1 Boot no Windows 2000/XP e o arquivo Boot.ini
1 Gerenciamento de Discos e Armazenamento
WINDOWS 2000
1 DHCP no Windows 2000 Server
1 DNS no Windows 2000 Server
1 Implementação e Administração do SUS
1 Serviço RRAS no Windows 2000 Server
1 Introdução às redes com Windows 2000 – Parte 1
1 Introdução às redes com Windows 2000 – Parte 2
1 Introdução às redes com Windows 2000 – Parte 3
1 Primeiros passos com Ajax Control Toolkit
1 Faça a sua declaração de imposto de renda com Linux
1 Sistema de Controle de Gasolina Mobile
1 Série Visual Source Safe - Parte 1
1 Extraindo dados para arquivo texto
1 Como exibir informações com múltiplas instruções SQL
1 Expressões Regulares No Microsoft SQL Server 2000
1 Cursores
1 O Namespace My
1 JOB no SQL Server
1 Criando uma aplicação Windows Service
1 Criando Class Libraries com VB.NET - Parte 2
1 Criando Class Libraries com VB.NET
1 Importação de arquivos XML com SQL Server 2000
1 Web Services e AD/DBA
1 Criando Sequence com SQL Server
Quer receber novidades e e-books gratuitos?

Cursos Online

  • Banco de Dados
  • Carreira
  • Criação/Web
  • Excel/Projetos
  • Formação
  • + Todas as categorias
  • Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

    Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

    Todos os direitos reservados, Júlio Battisti 2001-2019 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI