Compartir a través de


Cómo: Crear servicios mediante programación

Actualización: noviembre 2007

Si elige no utilizar la plantilla de proyecto Servicio de Windows, puede escribir sus propios servicios configurando la herencia y otros elementos de infraestructura personalmente. Cuando cree un servicio mediante programación, deberá ejecutar varios pasos que, de no ser así, la plantilla controlaría en su lugar:

  • Debe configurar la clase de servicio para heredar de la clase ServiceBase.

  • Debe crear un método Main para el proyecto de servicio que defina los servicios que se van a ejecutar y llame al método Run de éstos.

  • Debe reemplazar los procedimientos OnStart y OnStop y escribir en ellos el código que desea que ejecuten.

    Nota:

    La plantilla Servicio de Windows con su funcionalidad asociada no está disponible en Visual Studio Standard.

Para escribir un servicio mediante programación

  1. Cree un proyecto vacío y cree una referencia a los espacios de nombres necesarios siguiendo estos pasos:

    1. En el Explorador de soluciones, haga clic con el botón secundario del mouse (ratón) en el nodo Referencias y haga clic en Agregar referencia.

    2. En la ficha .NET Framework, desplácese a System.dll y haga clic en Seleccionar.

    3. Desplácese a System.ServiceProcess.dll y haga clic en Seleccionar.

    4. Haga clic en Aceptar.

  2. Agregue una clase y configúrela para que herede 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. Agregue el código siguiente para configurar la clase de servicio:

    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. Cree un método Main para su clase y utilícelo para definir el servicio que contendrá la clase; userService1 es el nombre de la clase:

    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. Reemplace el método OnStart y defina los procesos que desea que se produzcan cuando se inicie el servicio.

    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. Reemplace los demás métodos para los que desea definir procesos personalizados y escriba código para determinar las acciones que el servicio deberá ejecutar en cada caso.

  7. Agregue los instaladores necesarios para su aplicación de servicio. Para obtener más información, vea Cómo: Agregar instaladores a una aplicación de servicio.

  8. Genere el proyecto seleccionando Generar solución en el menú Generar.

    Nota:

    No presione F5 para ejecutar el proyecto; no es posible ejecutar de esta forma un proyecto de servicio.

  9. Cree un proyecto de instalación y las acciones personalizadas para instalar el servicio. Para obtener un ejemplo, vea Tutorial: Crear una aplicación de servicios de Windows en el Diseñador de componentes.

  10. Instale el servicio. Para obtener más información, vea Cómo: Instalar y desinstalar servicios.

Vea también

Tareas

Cómo: Crear servicios de Windows

Cómo: Agregar instaladores a una aplicación de servicio

Cómo: Registrar información sobre servicios

Tutorial: Crear una aplicación de servicios de Windows en el Diseñador de componentes

Tutorial: Crear una acción personalizada

Conceptos

Introducción a las aplicaciones de servicios de Windows

Proyectos de instalación