Foros del Web » Programando para Internet » ASPX (.net) »

Ejecutar aplicacion EXE en el servidor con ASP o ASP .NET

Estas en el tema de Ejecutar aplicacion EXE en el servidor con ASP o ASP .NET en el foro de ASPX (.net) en Foros del Web. Hola a todos, Estoy intentando ejecutar una aplicacion exe en el servidor programada en visual basic que mediante un control WebBrowser saca informacion de una ...
  #1 (permalink)  
Antiguo 28/08/2009, 04:19
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 20 años, 11 meses
Puntos: 0
Exclamación Ejecutar aplicacion EXE en el servidor con ASP o ASP .NET

Hola a todos,

Estoy intentando ejecutar una aplicacion exe en el servidor programada en visual basic que mediante un control WebBrowser saca informacion de una web a un fichero de texto. Las operaciones son lo de menos, el caso es que si ejecuto el programa a nivel usuario, sin hacerlo remotamente con shell o process.start... el programa hace su funcion correctamente, pero cuando lo abro desde la Web me aparece el programa ejecutandose en segundo plano y solo me hace algunas operaciones, pero la navegacion por el webbrowser no. He retocado el machine.config de mi version del Net Framework para ejecutar como system y no como ASPNET en las etiquetas <system.web> y los permisos estan otorgados correctamente tanto al programa como a los ficheros en los que escribe.

Lo que necesito es ejecutar este programa con asp o asp .net y que se muestre en pantalla. Las operaciones las hace automaticas por lo que se cerraria solo. ¿Alguien podria echarme una mano?

Muchas gracias por adelantado!
  #2 (permalink)  
Antiguo 28/08/2009, 08:11
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Respuesta: Ejecutar aplicacion EXE en el servidor con ASP o ASP .NET

Supongo que en realidad tu solo ocupas la solución de ASP.NET, así que lo muevo desde ASP Clásico
  #3 (permalink)  
Antiguo 31/08/2009, 01:05
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 20 años, 11 meses
Puntos: 0
Respuesta: Ejecutar aplicacion EXE en el servidor con ASP o ASP .NET

Hola Myakire, efectivamente la pregunta deberia aberla puesto en este foro. Disculpame. Ya he conseguido ejecutar correctamente la aplicacion, era tema de permisos y tal con los ficheros donde tenia que escribir y el usuario que supuestamente abria la aplicacion en el servidor. Cambiando la configuracion en el machine.config situado en la carpeta del .Net Framework colocando en la etiqueta <processmodel username="LOCALMACHINE\usuario con permisos de administrador" password="password del usuario">. Ahora me aparecen los procesos de windows abiertos por la web como mi usuario con permisos de administracion. No se si os puede servir la solucion. Gracias
  #4 (permalink)  
Antiguo 01/09/2009, 17:49
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Respuesta: Ejecutar aplicacion EXE en el servidor con ASP o ASP .NET

No problema

Si pudieras poner el fragmento de código que hace la llamada al ejecutable, quedaría al aporte de lujo para algún usuario que busque esta frecuente duda

Saludos!
  #5 (permalink)  
Antiguo 03/09/2009, 02:56
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 20 años, 11 meses
Puntos: 0
De acuerdo Respuesta: Ejecutar aplicacion EXE en el servidor con ASP o ASP .NET

Cita:
Iniciado por Myakire Ver Mensaje
No problema

Si pudieras poner el fragmento de código que hace la llamada al ejecutable, quedaría al aporte de lujo para algún usuario que busque esta frecuente duda

Saludos!
Si que es posible, incluso que te cambie el codigo fuente de una pagina en tiempo real para poder ver los resultados en la parte del cliente. Yo he usado para mi aplicacion un txt y un html para recibir la respuesta. En el txt he indicado los parametros que queria pasarle a la aplicacion, despues en la aplicacion he indicado el fichero del que tiene que recoger los parametros y su interpretacion, despues el programa hace una serie de operaciones en la web insertando los datos del txt en diferentes formularios en una aplicacion externa a mi servidor, realiza varias peticiones y cuando yo quiero que pare, guardo la respuesta generada (el codigo fuente de la ultima pagina que estoy viendo, donde yo he querido acabar) en un fichero html pero tratandolo como un txt, simplemente copio el codigo fuente en ese fichero, que siempre me lleva el mismo nombre, que sera el que ve el cliente como resultado. Por lo tanto se consigue una navegacion automatizada en segundo plano y una respuesta de confirmacion. Es muy interesante y abre muchisimas posibilidades. Sobre todo automatizacion de operaciones en la web, creacion de spiders o robots y muchas cosas mas...

Para ejecutar el programa en el servidor he usado el codigo:
Código:
System.Diagnostics.Process.Start(Server.MapPath("ruta/programa.exe"));
Response.Write("<script>setInterval(document.location='result.html',7000);</script>");
Pongo un retardo porque el result.html es el que me escribe el programa y no quiero encontrarme lo de la ultima operacion, por eso espero un poco a que el programa haga sus operaciones...

Yo he dejado todos los archivos de la aplicacion en una carpeta individual para tener bien localizado el proceso. Todos los archivos de la aplicacion deben tener los permisos de lectura y escritura, de lo contrario no funcionaria. Hay que cambiar la configuracion de la propia web en el fichero web.config, o bien, dentro de la carpeta de .NET Framework en el archivo machine.config, en la etiqueta <system.web> y despues en la etiqueta <processmodel cambias el valor del atributo username a un usuario que tenga permisos en el servidor y el valor del atributo password al password de este usuario. Guardas el fichero, reinicias el IIS y listo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:58.