Escribí un servicio de Windows y una guía para ello. Por supuesto, la GUI depende principalmente del servicio. ¿Hay alguna forma de que GUI espere el servicio? A veces necesito volver a cargar la configuración del servicio desde la interfaz gráfica de usuario y reiniciar el servicio.¿Cómo hacer que la GUI espere al servicio de Windows?
Estaba pensando en 2 soluciones: 1. utilizando tiempo y el sueño que esperar a que el estado de controlador de servicio al cambio (por supuesto, la solución más sencilla: P) 2. implementin interfaz INotifiPropertyChanged algún lugar (esto se ve a lo complicado de este trivial problema).
Me preguntaba ¿hay una forma más elegante de hacerlo? ¿Hay algún evento que me falta en algún lado?
único problema con eso es que le dice cuándo se está ejecutando el servicio, no cuando el servicio se ha inicializado y está listo para hacer las cosas que desea. Puede ser suficiente para el OP, puede que no. – gbjbaanb
No estoy seguro, pero creo que el estado es ServiceControllerStatus.Running cuando el servicio está completamente inicializado (después de haber llamado al método OnStart). Antes de eso, es ServiceControllerStatus.StartPending. –
Esto es exactamente lo que necesitaba. Perdón por no haber notado este método. Aparte de eso bebí mucho café, estaba buscando un evento: P (mi mal). Solo como una adición al caso: necesitaba usar el método Refresh() para actualizar los datos del servicio. De lo contrario, se mostraba como ejecutándose incluso después de Stop() (pero podría estar conectado con Windows 7 que estoy usando). – kyrisu