Windows Service
SERVICIOS DE WINDOWS
Creación de servicios
Santiago Solis MCTS san010180@hotmail.com
2
AGENDA
Definición de los servicios Arquitectura de un servicio Proyecto de Servicio Creación de un servicio Instalación de un servicio Desinstalar un servicio
Santiago Solis / MCTS / san010180@hotmail.com
3
Servicio de windows
Los servicios de Microsoft Windows, antes conocidoscomo servicios NT, permiten crear aplicaciones ejecutables de larga duración, que se ejecutan en sus propias sesiones de Windows. Estos servicios pueden iniciarse automáticamente cuando el equipo arranca, se pueden pausar y reiniciar, y no muestran ninguna interfaz de usuario. Estas características hacen que los servicios resulten perfectos para ejecutarse en un servidor o donde se necesite unafuncionalidad de ejecución larga que no interfiera con los demás usuarios que trabajen en el mismo equipo.
También puede ejecutar servicios en el contexto de seguridad de una cuenta de usuario específica, diferente de la del usuario que inició la sesión o de la cuenta predeterminada del equipo.
Santiago Solis / MCTS / san010180@hotmail.com
4
Servicios de windows
Un servicio deWindows es una aplicación que está pensada para ejecutarse siempre que el ordenador está encendido, aunque el usuario no esté conectado, vamos a ver cómo podemos trabajar con este tipo de aplicaciones.
Una aplicación de servicio está diseñada para ejecutarse de forma prolongada. Por ello, normalmente sondea o supervisa algún elemento del sistema
Recomendaciones No debe bloquearse ni ejecutarun bucle infinito Siempre debe tener supervisión o generar log de los procesos que realiza
Santiago Solis / MCTS / san010180@hotmail.com
5
Ciclo de vida de los servicios
Un servicio pasa por varios estados internos a lo largo de su vida útil. En primer lugar, se instala el servicio en el sistema en el que se ejecutará. Este proceso ejecuta los instaladores para elproyecto del servicio y carga el servicio en el Administrador de control de servicios del equipo. El Administrador de control de servicios es la utilidad central que proporciona Windows para administrar servicios. Una vez cargado el servicio, es necesario iniciarlo. Al iniciar el servicio, se permite que empiece a funcionar. Puede iniciar un servicio desde el Administrador de control deservicios, desde el Explorador de servidores o desde código llamando al método Start. El método Start pasa el procesamiento al método OnStart de la aplicación y procesa el código que haya definido allí. Un servicio en ejecución puede permanecer indefinidamente en este estado, hasta que se detiene o se pausa, o hasta que se apaga el equipo. Un servicio puede estar en uno de estos tres estados básicos:Running, Paused o Stopped. El servicio también puede informar del estado de un comando pendiente: ContinuePending, PausePending, StartPending o StopPending. Estos estados indican que se emitió un comando, por ejemplo, para hacer una pausa en un servicio en ejecución, pero que el comando aún no se ejecutó. Puede consultar Status para determinar en qué estado se encuentra el servicio, o bien utilizarWaitForStatus para realizar una acción cuando se produzca uno de estos estados. Puede pausar, detener o reanudar un servicio desde el Administrador de control de servicios, desde el Explorador de servidores o llamando a los métodos adecuados desde el código. Cada una de estas acciones puede llamar a un procedimiento asociado en el servicio (OnStop, OnPause o OnContinue), en el que es posible definirprocesos adicionales que se realizarán cuando cambie el estado del servicio.
Santiago Solis / MCTS / san010180@hotmail.com
6
Requisitos
Los servicios deben crearse en un proyecto de aplicación de Servicio de Windows o en otro proyecto compatible con .NET Framework que cree un archivo .exe al ser generado y que herede de la claseServiceBase. Los proyectos que contienen...
Regístrate para leer el documento completo.