Procedimiento para crear servicios de Windows

Advertencia

Esta documentación no es para la versión más reciente de Windows Service. Para ver el contenido más reciente sobre los servicios de Windows que usan BackgroundService y la plantilla Worker Service, consulte:

Al crear un servicio, puede usar una plantilla de proyecto de Visual Studio denominada Servicio de Windows. Esta plantilla realiza automáticamente gran parte del trabajo: hace referencia a las clases y los espacios de nombres correctos, configura la herencia de la clase base para los servicios y reemplazar algunos de los métodos que es probable que desee reemplazar.

Advertencia

La plantilla de proyecto Servicios de Windows no está disponible en la edición Express de Visual Studio.

Como mínimo, para crear un servicio funcional, deberá:

  • Establecer la propiedad ServiceName.

  • Crear los instaladores necesarios para la aplicación de servicio.

  • Reemplazar y especificar el código para los métodos OnStart y OnStop para personalizar el modo en que se comporta el servicio.

Para crear una aplicación de servicio de Windows

  1. Cree un proyecto de Servicio Windows.

    Nota

    Para obtener instrucciones sobre cómo escribir un servicio sin usar la plantilla, vea Cómo: Escribir servicios mediante programación.

  2. En la ventana Propiedades, establezca la propiedad ServiceName para el servicio.

    Set the ServiceName property.

    Nota:

    El valor de la propiedad ServiceName siempre debe coincidir con el nombre registrado en las clases del instalador. Si cambia esta propiedad, también debe actualizar la propiedad ServiceName de las clases del instalador.

  3. Establezca cualquiera de las siguientes propiedades para determinar cómo funcionará el servicio.

    Propiedad. Parámetro
    CanStop True para indicar que el servicio aceptará solicitudes para detener la ejecución; false para impedir que el servicio se detenga.
    CanShutdown True para indicar que el servicio desea recibir una notificación cuando se apaga el equipo en que reside, lo que le permite llamar al procedimiento OnShutdown.
    CanPauseAndContinue True para indicar que el servicio aceptará solicitudes para pausar o reanudar la ejecución; false para impedir que el servicio se pause y se reanude.
    CanHandlePowerEvent True para indicar que el servicio puede controlar la notificación de cambios en el estado de alimentación del equipo; false para impedir la notificación al servicio de estos cambios.
    AutoLog True para escribir entradas informativas en el registro de sucesos de aplicación cuando el servicio realice una acción; false para deshabilitar esta funcionalidad. Para obtener más información, vea Cómo: Registrar información sobre servicios. Nota: De manera predeterminada, AutoLog se establece en true.

    Nota

    Cuando CanStop o CanPauseAndContinue se establecen en false, el Administrador de control de servicios deshabilitará las opciones de menú correspondientes para detener, pausar o continuar el servicio.

  4. Obtenga acceso al Editor de código y rellene el procesamiento que desee para los procedimientos OnStart y OnStop.

  5. Reemplace los otros métodos para los que desee definir la funcionalidad.

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

  7. En el menú Compilar, seleccione Compilar solución para compilar el proyecto.

    Nota

    No presione F5 para ejecutar el proyecto: no se puede ejecutar un proyecto de servicio de esta manera.

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

Vea también