Como: Criar serviços WindowsHow to: Create Windows Services

Ao criar um serviço, você pode usar um modelo de projeto Visual Studio chamado Serviço Windows.When you create a service, you can use a Visual Studio project template called Windows Service. 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.This template automatically does much of the work for you by referencing the appropriate classes and namespaces, setting up the inheritance from the base class for services, and overriding several of the methods you're likely to want to override.

Aviso

O modelo de projeto do serviço Windows não está disponível na edição Express do Visual Studio.The Windows Services project template is not available in the Express edition of Visual Studio.

Para criar um serviço funcional, você deve, no mínimo:At a minimum, to create a functional service you must:

  • Definir a propriedade ServiceName.Set the ServiceName property.

  • Criar os instaladores necessários para seu aplicativo de serviço.Create the necessary installers for your service application.

  • Substituir e especificar código para os métodos OnStart e OnStop para personalizar as formas nas quais o serviço funciona.Override and specify code for the OnStart and OnStop methods to customize the ways in which your service behaves.

Para criar um aplicativo de serviço WindowsTo create a Windows Service application

  1. Crie um projeto de Serviço Windows.Create a Windows Service project.

    Observação

    Para obter instruções sobre como escrever um serviço sem usar o modelo, confira Como: Escrever serviços de forma programática.For instructions on writing a service without using the template, see How to: Write Services Programmatically.

  2. Na janela Propriedades, configure a propriedade ServiceName para seu serviço.In the Properties window, set the ServiceName property for your service.

    Defina a propriedade ServiceName.Set the ServiceName property.

    Observação

    O valor da propriedade ServiceName sempre deve corresponder ao nome registrado nas classes do instalador.The value of the ServiceName property must always match the name recorded in the installer classes. Se você alterar essa propriedade, também deverá atualizar a propriedade ServiceName das classes do instalador.If you change this property, you must update the ServiceName property of installer classes as well.

  3. Defina qualquer uma das propriedades a seguir para determinar como seu serviço funcionará.Set any of the following properties to determine how your service will function.

    PropriedadeProperty ConfiguraçãoSetting
    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.True to indicate that the service will accept requests to stop running; false to prevent the service from being stopped.
    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.True to indicate that the service wants to receive notification when the computer on which it lives shuts down, enabling it to call the OnShutdown procedure.
    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.True to indicate that the service will accept requests to pause or to resume running; false to prevent the service from being paused and resumed.
    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.True to indicate that the service can handle notification of changes to the computer's power status; false to prevent the service from being notified of these changes.
    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.True to write informational entries to the Application event log when your service performs an action; false to disable this functionality. Para obter mais informações, confira Como: Registrar em log informações sobre serviços.For more information, see How to: Log Information About Services. Observação: Por padrão, AutoLog é definido como true.Note: By default, AutoLog is set to 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.When CanStop or CanPauseAndContinue are set to false, the Service Control Manager will disable the corresponding menu options to stop, pause, or continue the service.

  4. Acesse o Editor de código e preencha o processamento que você deseja para os procedimentos OnStart e OnStop.Access the Code Editor and fill in the processing you want for the OnStart and OnStop procedures.

  5. Substitua quaisquer outros métodos para os quais você deseja definir a funcionalidade.Override any other methods for which you want to define functionality.

  6. Adicionar os instaladores necessários para seu aplicativo de serviço.Add the necessary installers for your service application. Para obter mais informações, confira Como: Adicionar instaladores ao aplicativo de serviço.For more information, see How to: Add Installers to Your Service Application.

  7. Compile o projeto selecionando Compilar Solução no menu Compilar.Build your project by selecting Build Solution from the Build menu.

    Observação

    Pressione F5 para executar seu projeto. Você não pode executar um projeto de serviço dessa maneira.Do not press F5 to run your project — you cannot run a service project in this way.

  8. Instale o serviço.Install the service. Para obter mais informações, confira Como: Instalar e desinstalar serviços.For more information, see How to: Install and Uninstall Services.

Consulte tambémSee also