C# WinServiceBasic1 v1.0.1: Añadimos algunas mejoras al servicio

Después de experimentar un poco con el servicio (C# WinServiceBasic1: Crear un servicio básico en Windows) he prescindido del control de VS que permite instalar el servicio y hacerlo yo mismo a mano con scripts PS (PowerShell), los he guardado en la carpeta Debug y permiten instalar / desinstalar / arrancar / parar / ver estado del servicio.

Proyecto WinServiceBasic1 en GitHub.

WinServiceBasic1_install.ps1

Utilizo el comando New-Service para instalar el servicio, el script previamente copia el ejecutable en C:\bin y borra el servicio si ya existiese previamente.

WinServiceBasic1_delete.ps1

WinServiceBasic1_start.ps1

Start-Service -Name "MyNewService"

WinServiceBasic1_stop.ps1

Stop-Service -Name "MyNewService"

WinServiceBasic1_view.ps1

Get-WmiObject win32_service -Filter "name='MyNewService'"

También he realizado modificaciones en las propiedades del objeto eventLog1 (clase EventLog para escribir logs que se visualizan en el visor de eventos de Windows), es necesario especificar la propiedad Source, normalmente se define como el nombre de la aplicación (“MyNewService” en este caso).

Ajusto algunos parámetros del objeto “MyNewService” (heredado de la clase ServiceBase) para modificar el comportamiento del servicio. La propiedad AutoLog a “False” para que la aplicación no genere eventos por su cuenta.

Además he sobrecargado el método WriteEntry para ilustrar como generar diferentes tipos de eventos (información, error,…):

Ahora los eventos del visor de eventos de Windows proporcionan más información:

Después de probar un rato con EventLog he instalado NLog para generar logs con más flexibilidad (ver “NLog: Sistema de logging gratuito y de código abierto para .Net“)

Referencias externas

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s