Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/03/2007, 22:45
Avatar de HiTek
HiTek
 
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: Ejecutar un servicio de windows desde asp.net

Que tal marcelo...lo que tu necesitas ya lo he hecho por asuntos practicos

te comento la solución

servidor remoto:
1- aplicacion o servicio que deseas ejecutar
2- web page que administrará la aplicación
3- servicio simple de lectura de archivos de texto

-----------
1- es la aplicacion, en tu caso servicio que desees ejecutar
2- web page
esta pagina lo que debe hacer es listar los procesos que el servidor está ejecutando, recorres uno a uno y si el servicio que necesitas no está en la lista hay que hacer algo para que se ejecute...en mi caso un boton que hace un submit y corre un par de instrucciones genera un archivo de texto con el nombre de la aplicación que deseo ejecutar (previamente almacenado en el web config)...listo! (bueno pero no se ha ejecutado la app....eh si...tienes razon)
3- tenemos un sencillo pero eficiente servicio o miniapp que lee un directorio en donde se escribe el archivo de texto que previamente generamos al hacer click en el boton de la lista de procesos, si este servcio encuentra un archivo txt en el directorio indicado deberá abrir el archivo, tomar la linea que contiene el nombre de la aplicacion y luego ejecutarla y listo! problema resuelto...ya no tendrás que ir a la oficina a las 4 de la madrugada porque el servicio que necesitabas se cayo en forma repentina.

por ultimo....porque este metodo y no la ejecucion directa al presionar el boton....

si tenemos un servicio en el server y lo ejecutamos o iniciamos este será ejecutado por el usuario 'administrador' del servidor y por lo tanto tendrá acceso al FS y todas las caracteristicas y utilidades que esto conlleva ejecutandose y realizando las tareas programadas correctamente...por el contrario....

si lo ejecutamos dandole click al boton de la web page...el servicio se iniciará bajo los permisos del usuario que lo solicito...en este caso el usuario sería el 'IUSR_NOMBRESERVER' o el 'IWAM_NOMBRESERVER' que son usuarios del sistema con permisos muy restringidos y el servicio no va a funcionar como realmente debe...

por eso es necesario....
el servicio a ejecutar
la web page y
el servicio lanzador de aplicaciones...


espero te haya quedado claro, saludos