Share via


Como: Criar serviços do Windows

Nota

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

Quando você cria um serviço, você pode usar um modelo de projeto do Visual Studio chamado Serviço do Windows. Esse modelo faz automaticamente grande parte do trabalho para você, fazendo referência às classes e namespaces apropriados, configurando a herança da classe base para serviços e substituindo vários dos métodos que você provavelmente desejará substituir.

Aviso

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

No mínimo, para criar um serviço funcional, você deve:

  • Defina a ServiceName propriedade.

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

  • Substitua e especifique o código para os OnStart métodos e OnStop para personalizar as maneiras como seu serviço se comporta.

Para criar um aplicativo de Serviço do Windows

  1. Crie um projeto de Serviço do Windows.

    Nota

    Para obter instruções sobre como escrever um serviço sem usar o modelo, consulte Como escrever serviços programaticamente.

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

    Defina a propriedade ServiceName.

    Nota

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

  3. Defina qualquer uma das seguintes propriedades para determinar como o serviço funcionará.

    Property Definição
    CanStop True para indicar que o serviço aceitará solicitações para parar de funcionar; false para evitar que o serviço seja interrompido.
    CanShutdown True para indicar que o serviço deseja receber notificação quando o computador em que vive é desligado, permitindo que ele chame o OnShutdown procedimento.
    CanPauseAndContinue True para indicar que o serviço aceitará solicitações para pausar ou retomar a execução; false para evitar que o serviço seja pausado e retomado.
    CanHandlePowerEvent True para indicar que o serviço pode lidar com a notificação de alterações no status de energia do computador; false para evitar que o serviço seja notificado dessas alterações.
    AutoLog True para escrever entradas informativas no log de eventos do aplicativo quando o serviço executa uma ação; false para desativar esta funcionalidade. Para obter mais informações, consulte Como registrar informações sobre serviços. Nota: Por padrão, AutoLog está definido como true.

    Nota

    Quando CanStop ou CanPauseAndContinue estiver definido como false, o Service Control Manager desativará as opções de menu correspondentes para parar, pausar ou continuar o serviço.

  4. Acesse o Editor de Códigos e preencha o processamento desejado para os OnStart procedimentos e OnStop .

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

  6. Adicione os instaladores necessários para seu aplicativo de serviço. Para obter mais informações, consulte Como adicionar instaladores ao seu aplicativo de serviço.

  7. Crie seu projeto selecionando Build Solution no menu Build .

    Nota

    Nã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, consulte Como instalar e desinstalar serviços.

Consulte também