[SOLUCIONADO] ¿Pasar parámetros a un servicio?

Iniciado por BlaineMonkey, 13 Enero 2010, 15:15 PM

0 Miembros y 2 Visitantes están viendo este tema.

BlaineMonkey

Tengo un servicio desarrollado en .NET
Lo he instalado con InstallUtil. El caso es que quiero pasar argumentos a la hora de ejecutar el servicio. He probado a modificar la entrada ImagePath añadiendo los parámetros (por ejemplo: c:\servicios\lanzador.exe 1 2) pero en OnStart parece que no viene ninguno y el Main es un método sin argumentos.

¿Cómo hay que pasarlos para que se recogan en el método OnStart del servicio?

elmaro

En el metodo OnStart vienen argumentos. Nunca los use, pero supongo que seran esos los que se le pasan.

For Each sItem As Object In args
            MsgBox(sItem)
Next

BlaineMonkey

Si, eso hago pero no entra en el for y sí que en ImagePath he añadido los parámetros. Igual es que tienen que ir en otro lado....


elmaro

Cita de: BlaineMonkey en 13 Enero 2010, 16:33 PM
Si, eso hago pero no entra en el for y sí que en ImagePath he añadido los parámetros. Igual es que tienen que ir en otro lado....



No entendi.

Los parametros se ponen en las propiedades del servicio. En la pestaña General, en donde dice Parametros de Inicio


MANULOMM

Cita de: elmaro en 13 Enero 2010, 16:50 PM
Cita de: BlaineMonkey en 13 Enero 2010, 16:33 PM
Si, eso hago pero no entra en el for y sí que en ImagePath he añadido los parámetros. Igual es que tienen que ir en otro lado....



No entendi.

Los parametros se ponen en las propiedades del servicio. En la pestaña General, en donde dice Parametros de Inicio




claro los parametros solo se pasan cuando el servicio es iniciado, y solo el gestor de servicios de windows es quien los inicia a menos de que lo inicies por comando con Net Start pero ya seria cuestion de saber la sintaxis del comando.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia


BlaineMonkey

Cuando introduzco los parámetros de inicio en la pestaña general y pulso aceptar (No puedo pulsar aplicar) al volver a abrir las propiedades del servicio vuelve a aparecer sin parámetros. Tengo que iniciar a mano sin cerrar las propiedades para que recoga los argumentos.

Pensaba que editando la etiqueta ImagePath y añadiendo los parámetros al final se solucionaría, pero parece que no los recoge de ahí.

¿Cómo se puede hacer que los parámetros de inicio sean persistentes?

BlaineMonkey

Ya está solucionado.

He visto que en el servicio estaba el método Main() en lugar del Main(string[] args)

De esta forma ya recoge los argumentos que tiene indicados  en ImagePath