Como: Escrever serviços programaticamente

Se você optar por não usar o modelo de projeto Windows Service, você pode escrever seus próprios serviços, configurando a herança e outros elementos de infraestrutura.Quando você cria um serviço programaticamente, você deve executar várias etapas que o modelo trataria para você:

  • Você deve configurar sua classe de serviço para herdar a partir de ServiceBase classe.

  • Você deve criar um Main método para seu projeto de serviço que define os serviços para serem executados e chama o Run método neles.

  • Você deve substituir o OnStart e OnStop procedimentos e preencha qualquer código você deseja que elas executem.

    Observação:

    O Windows Ser vice modelo e a funcionalidade associada não está disponível na Standard edição do Visual Studio.

Para gravar um serviço através de programação

  1. Criar um projeto vazio e criar uma referência aos namespaces necessários seguindo estas etapas:

    1. No Solution Explorer, clique com o botão direito do mouse no nó References e em clique em Add Reference.

    2. Na guia .NET Framework, role para System.dll e clique em Select.

    3. Role para System.ServiceProcess.dll e clique em Select.

    4. Clique em OK.

  2. Adicionar uma classe e configurá-la para herdar de ServiceBase:

    Public Class UserService1
       Inherits System.ServiceProcess.ServiceBase
    End Class
    
    public class UserService1 : System.ServiceProcess.ServiceBase  
    {
    }
    
    public class UserService1 extends System.ServiceProcess.ServiceBase
    {
    }
    
  3. Adicione o seguinte código para configurar sua classe de serviço:

    Public Sub New()
        Me.ServiceName = "MyService2"
        Me.CanStop = True
        Me.CanPauseAndContinue = True
        Me.AutoLog = True
    End Sub
    
     public UserService1() 
        {
            this.ServiceName = "MyService2";
            this.CanStop = true;
            this.CanPauseAndContinue = true;
            this.AutoLog = true;
        }
    
        public UserService1() 
        {
            this.set_ServiceName("MyService2");
            this.set_CanStop(true);
            this.set_CanPauseAndContinue(true);
            this.set_AutoLog(true);
        }
    
  4. Criar um Main método para sua classe e usá-lo para definir o serviço que sua classe irá conter; userService1 é o nome da classe:

    Shared Sub Main()
      System.ServiceProcess.ServiceBase.Run(New UserService1)
    End Sub
    
     public static void Main()
        {
            System.ServiceProcess.ServiceBase.Run(new UserService1());
        }
    
        public static void main()
        {
            System.ServiceProcess.ServiceBase.Run(new UserService1());
        }
    
  5. Substituir o OnStart método e defina qualquer processamento que você deseja que ocorra quando o serviço é iniciado.

    Protected Overrides Sub OnStart(ByVal args() As String)
      ' Insert code here to define processing.
    End Sub
    
     protected override void OnStart(string[] args)
        {
            // Insert code here to define processing.
        }
    
        protected void OnStart(System.String[] args)
        {
            // Insert code here to define processing.
        }
    
  6. Substitua quaisquer outros métodos que você queira para definir o processamento personalizado, e escreva código para determinar as ações que o serviço deve tomar em cada caso.

  7. 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.

  8. Crie seu projeto, selecionando Build Solution a partir do menu Build.

    Observação:

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

  9. Crie um projeto de instalação e as ações personalizadas para instalar o serviço.Para um exemplo, consulte Demonstra Passo a passo: Criando um Aplicativo Windows Service no Designer de Componentes.

  10. Instale o serviço.Para obter mais informações, consulte Como: Instalar e desinstalar Serviços.

Consulte também

Tarefas

Como: Criar Windows Services

Como: Adicionar instaladores ao seu aplicativo de serviço

Como: Log de informações sobre serviços

Demonstra Passo a passo: Criando um Aplicativo Windows Service no Designer de Componentes

Demonstra Passo a passo: Criando uma ação Personalizar

Conceitos

Introdução aos Aplicativos de Serviço do Windows

Projetos de instalação