Como: Criar serviços Windows

Observação

Este artigo não se aplica aos serviços hospedados no .NET. Para obter o conteúdo mais recente sobre os Serviços Windows usando Microsoft.Extensions.Hosting.BackgroundService e o modelo de Serviço de Trabalho, confira:

Ao criar um serviço, você pode usar um modelo de projeto Visual Studio chamado Serviço Windows. Esse modelo realiza automaticamente muito do trabalho para você referenciando as classes e namespaces apropriados, configurando a herança de classe base para serviços, e substituindo muitos dos métodos que você provavelmente desejará substituir.

Aviso

O modelo de projeto do serviço Windows não está disponível na edição Express do Visual Studio.

Para criar um serviço funcional, você deve, no mínimo:

  • Definir a propriedade ServiceName.

  • Criar os instaladores necessários para seu aplicativo de serviço.

  • Substituir e especificar código para os métodos OnStart e OnStop para personalizar as formas nas quais o serviço funciona.

Para criar um aplicativo de serviço Windows

  1. Crie um projeto de Serviço Windows.

    Observação

    Para obter instruções de como escrever um serviço sem usar o modelo, confira Como escrever serviços de forma programática.

  2. Na janela Propriedades, configure a propriedade ServiceName para seu serviço.

    Defina a propriedade ServiceName.

    Observação

    O valor da propriedade ServiceName sempre deve corresponder ao nome registrado nas classes do instalador. Se você alterar essa propriedade, também deverá atualizar a propriedade ServiceName das classes do instalador.

  3. Defina qualquer uma das propriedades a seguir para determinar como seu serviço funcionará.

    Propriedade Configuração
    CanStop True para indicar que o serviço aceitará solicitações para parar a execução; false para impedir que o serviço seja interrompido.
    CanShutdown True para indicar que o serviço deseja receber uma notificação quando o computador no qual ele está for desligado, permitindo que a ele chamar o procedimento OnShutdown.
    CanPauseAndContinue True para indicar que o serviço aceitará solicitações para pausar ou continuar executando; false para impedir que o serviço seja pausado e retomado.
    CanHandlePowerEvent True para indicar que o serviço pode manipular notificações de alterações de status de energia do computador; false para impedir que o serviço seja notificado sobre alterações.
    AutoLog True para gravar entradas informativas no log de eventos do aplicativo quando seu serviço executa uma ação; false para desabilitar essa funcionalidade. Para obter mais informações, confira Como registrar informações em log sobre serviços. Observação: por padrão, AutoLog é definido como true.

    Observação

    Quando CanStop ou CanPauseAndContinue forem definidos como false, o Gerenciador de Controle de Serviço desabilitará as opções de menu correspondentes para parar, pausar ou continuar o serviço.

  4. Acesse o Editor de código e preencha o processamento que você deseja para os procedimentos OnStart e OnStop.

  5. Substitua quaisquer outros métodos para os quais você deseja definir a funcionalidade.

  6. Adicionar os instaladores necessários para seu aplicativo de serviço. Para obter mais informações, confira Como adicionar instaladores no seu aplicativo de serviço.

  7. Compile o projeto selecionando Compilar Solução no menu Compilar.

    Observação

    Pressione F5 para executar seu projeto. Você não pode executar um projeto de serviço dessa maneira.

  8. Instale o serviço. Para obter mais informações, confira Como instalar e desinstalar serviços.

Confira também