asp.net - porta - PhantomJS como trabajo web en Azure
porta azure (3)
Implementé un sitio web asp.net mvc en azul y estoy tratando de implementar phantomJS como un trabajo web para apoyar el sitio web. He cargado un archivo zip con todas las dependencias necesarias para ejecutar PhantomJS y el trabajo web se inicia correctamente después de ejecutar mi archivo por lotes. El registro informa que el servidor está funcionando y ejecutando @ 127.0.0.1:8080
. Sin embargo, cuando intento acceder a la aplicación PhantomJS en la url 127.0.0.1:8080
desde mi sitio azul alojado en someProject.azurewebsites.net
, someProject.azurewebsites.net
tiempo de espera sin otro mensaje de error.
Específicamente, estoy intentando implementar una aplicación phantomJS que aloja un punto final web ( https://github.com/thelgevold/PhantomSnapshot ) que me permitirá convertir páginas web a PDF si paso una url del sitio web al proceso fantasmaJS.
El sitio web pasará una url a PhantomJS que responderá con un archivo pdf que se puede descargar. Ya lo tengo trabajando fuera de Azure, pero tenía curiosidad si el proceso PhantomJS se puede alojar como un trabajo web
¿Alguien sabe si es posible implementar PhantomJS de esta manera? Estoy ejecutando mi sitio bajo la configuración "gratuita".
Azure Websites no le permitirá escuchar en los puertos, tampoco puede usar localhost desde su sitio web de Azure.
Tenemos el mismo problema con WSAS (sitios web de Windows Azure). Podemos ejecutar puede comunicarse a través de stdin / stdout con phantomjs.exe, pero cuando lo haga una solicitud de red real, se cerrará, o se congelará si no se establece un tiempo de espera.
Algunas otras aplicaciones pueden realizar solicitudes de red (fe curl.exe), pero si intenta ejecutar "ping", responderá con "No se puede contactar al controlador de IP. Error general". googleando que dice que es probable que exista una mala configuración de Hyper-V en sus servidores virtuales.
PhantomJS no funciona en Azure Webjobs.
Intenté ejecutarlo a través de CMD shell [yoursite] .scm.azurewebsites.net / DebugConsole, pero cuelga cuando lo llamo con el script raserize.js.
puedes usar phantomjs como rol de trabajador, funcionará.
Actualizar
En relación con esto: https://.com/a/23000040/3080500
phantomJS usa GDI para representar imágenes y PDF, y GDI está bloqueado en el sitio web de Azure
ref : GDI no está habilitado en los sitios web azure http://social.msdn.microsoft.com/Forums/windowsazure/en-US/b4a6eb43-0013-435f-9d11-00ee26a8d017/report-viewer-error-on-export-pdf -o-excel-from-azure-web-sites
ref : PhantomJS usa GDI para renderizar fuentes: https://github.com/ariya/phantomjs/blob/6a01a8dece0c4dd697eaa0b208057d2bd43a30f3/src/qt/mkspecs/win32-msvc2003/qmake.conf#L63