Compartilhar via


Como: Gravação de serviços programaticamente

If you choose not to use the Windows Service project template, you can write your own services by setting up the inheritance and other infrastructure elements yourself. When you create a service programmatically, you must perform several steps that the template would otherwise handle for you:

  • 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 a executar e chama o Run método neles.

  • Você deve substituir o OnStart e OnStop procedimentos e preencha a qualquer código que desejam executar.

    ObservaçãoObservação

    The Windows Service template and associated functionality is not available in the Standard Edition of Visual Studio.

To write a service programmatically

  1. Create an empty project and create a reference to the necessary namespaces by following these steps:

    1. In Solution Explorer, right-click the References node and click Add Reference.

    2. On the .NET Framework tab, scroll to System.dll and click Select.

    3. Scroll to System.ServiceProcess.dll and click Select.

    4. Click 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  
    {
    }
    
  3. Add the following code to configure your service class:

    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;
        }
    
  4. Criar um Main método para sua classe e usá-lo para definir o serviço de 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());
        }
    
  5. Substituir o OnStart método e defina qualquer processamento que você deseja que ocorra quando o serviço for 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.
        }
    
  6. Override any other methods you want to define custom processing for, and write code to determine the actions the service should take in each case.

  7. Add the necessary installers for your service application. For more information, see Como: Adicionar instaladores ao seu aplicativo de serviço.

  8. Build your project by selecting Build Solution from the Build menu.

    ObservaçãoObservação

    Do not press F5 to run your project — you cannot run a service project in this way.

  9. Create a setup project and the custom actions to install your service. For an example, see Demonstra Passo a passo: Criando um Aplicativo Windows Service no Designer de Componentes.

  10. Install the service. For more information, see Como: Instalar e desinstalar serviços.

Consulte também

Tarefas

Como: Criar serviços do Windows

Como: Adicionar instaladores ao seu aplicativo de serviço

Como: Registrar informações sobre serviços

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

Walkthrough: Criando uma ação personalizada

Conceitos

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

Setup and Deployment Projects