Criando um serviço utilizando C#

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (11)  (0)

Neste artigo veremos um exemplo de como criar um Serviço com C#. Veremos de maneira simples e prática como instalar e desinstalar nosso serviço também.


1 - Crie um projeto "Windows Service" com o nome de "Meu Servico", conforme a figura abaixo:



2 - Automaticamente ele ira trazer na tela o "Service1.cs[Design]", Click com o botão direito do mouse na tela e selecione a opção "add Installer", ele ficara da seguinte maneira :



3 - Vai  em propriedades do "ServiceInstaller1" e configure da seguinte maneira :

 ____________________________
|Description : | Meu Servico |
|DisplayName : | Meu Servico |
 ----------------------------

4 - Feito isso, agora na propriedade do "serviceProcessInstaller1" altere :

 ________________________
|Account : | LocalSystem |
 ------------------------

5 - Agora no "Service.cs", altere ele para que fique da seguinte maneira :

public partial class Service1 : ServiceBase
    {
        Timer timer1;

        public Service1()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            timer1 = new Timer(new TimerCallback(timer1_Tick), null, 15000, 60000);            
        }

        protected override void OnStop()
        {
            StreamWriter vWriter = new StreamWriter(@"c:\testeServico.txt", true);

            vWriter.WriteLine("Servico Parado: " + DateTime.Now.ToString());
            vWriter.Flush();
            vWriter.Close();
        }

        private void timer1_Tick(object sender)
        {
            StreamWriter vWriter = new StreamWriter(@"c:\testeServico.txt", true);
            vWriter.WriteLine("Servico Rodando: " + DateTime.Now.ToString());
            vWriter.Flush();
            vWriter.Close();
        }
}


6 - Não se esqueça de adicionar as Referencias abaixo:

  using System.Threading;
  using System.IO;


7 - Agora na solution 'Meu Servico', click com o botão direito do mouse, e adiciona um novo projeto "Setup Project" de a ele o nome de "Setup":



8 - Agora no projeto "Setup" click com o botão direito do mouse e selecione a opção "Custom Actions" :



9 - Feito isso click com o botão direito no "Custom Actions" e selecione a opção "Add Custom Actions"



10 - Agora no "Select Item in Project" selecione "User's Desktop", vai em "Add Output" e selecione a opção "Primary output":



11 - Pressione "OK"  nas telas, e o "Custom Actions" devera ficar da seguinte maneira :



12 - Agora no "solution Configurations" selecione a opção "Configuration Manager" :



13 - No "Configuration Manager" na opção Build, selecione o projeto "Setup" :



14 - Feito isso Click com o botão direito na Solution 'Meu Servico', e click em "Rebuild  
Solution", e pressione "F6" ( Para Garantir =p ).

15 - Agora no Projeto "Setup", click com o botão direito e selecione a opção "Install", e  
avance até concluir a instalação.

16 - Agora ative o serviço:



17 -  feito por você, e vai em C:\ que apos 15 segundo ele ira criar o arquivo texto  "testeServico.txt" e a cada 1 minuto ele ira escrever a hora no arquivo.


18 - Observação: Lembrando que para desinstalar o serviço, basta parar ele, e no projeto  
"Setup", clicar em "Uninstall".


Desde Já Agradeço a atenção, Obrigado e abraço a todos.
 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?