none
Consumir aplicación de escritorio desde aplicación web RRS feed

  • Pregunta

  • Buenas tardes. Llevo unos días liado con una aplicación que me permita crear tareas programadas. La base esta hecha, y consigo crearlas desde la aplicación, pero me surge un problema bastante gordo a la hora de refactorizar. Tengo 2 elementos: una aplicación MVC llamada PruebaWeb, en un controlador hago una llamada con process.start() a la aplicación de escritorio, de la siguiente manera: 

    public string ejecuta()        {            ProcessStartInfo psi = new ProcessStartInfo();            psi.FileName = @"C:\ServicioProgramado\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe";            psi.WorkingDirectory = System.IO.Path.GetDirectoryName(psi.FileName);            Process.Start(psi);}

    Modifiqué el código del segundo elemento, una solución que contiene: una biblioteca de clases encargada de crear la tarea programada, y una aplicación de consola encargada de consumir esa DLL y crear la tarea.

    SIN Dll la tarea se crea sin ningún problema. Salta la aplicación de escritorio y todo funciona. En cuanto puse la DLL, no se ejecuta. pruebaWeb sigue funcionando sin problema, como si nada hubiera pasado, pero la tarea programada no se crea.

    He pensado que quizás el dominio de aplicación tiene algo que ver... pero estoy bastante perdido.

    ¿Tiene algo que ver la DLL? ¿Podria solucionarse con el dominio de aplicación? 

    Muchas gracias


    jueves, 31 de octubre de 2013 17:23

Todas las respuestas

  • Lo del dominio de aplicación no debería tener nada que ver. La DLL rueda dentro del mismo dominio de aplicación que el programa llamante, salvo que expresamente hayas creado un nuevo AppDomain.

    Ojo a lo de la aplicación de escritorio: desde Visual Studio en tiempo de desarrollo puede que funcione, pero una vez que lo despliegues sobre IIS, la aplicación web se ejecuta como Servicio, y los servicios no tienen acceso al escritorio, por lo que lo más probable es que al lanzar la aplicación de escritorio ésta falle o se quede "colgada".

    viernes, 1 de noviembre de 2013 19:25