代码之家  ›  专栏  ›  技术社区  ›  n00b

运行Phantomjs。ASP.exe。Azure应用服务中的NET Core

  •  2
  • n00b  · 技术社区  · 7 年前

    我在中实现了一个ReSTful API。Net Core 2.0.0,托管在Azure的应用程序服务中。

    我试图让其中一个控制器使用PhantomJS生成PDF文件。exe文件

    所以我创造了这个方法

    控制器摘要为

            System.Diagnostics.Process pProcess = new System.Diagnostics.Process();
            pProcess.StartInfo.FileName = config.pjlocation;
            pProcess.StartInfo.Arguments = ....; //argument
            pProcess.StartInfo.UseShellExecute = false;
            pProcess.StartInfo.RedirectStandardOutput = true;
            pProcess.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            pProcess.StartInfo.CreateNoWindow = true; //not diplay a windows
            pProcess.Start();
            output = pProcess.StandardOutput.ReadToEnd(); //The output result
            pProcess.WaitForExit();
    

    当我在本地使用

    dotnet run
    

    在具有相同版本的windows计算机上。Net Core作为azure使用的核心。

    但是,当部署到azure时,该服务会遇到API,很长一段时间内无法生成任何响应,并返回此错误

    指定的CGI应用程序遇到错误,服务器 已终止进程。

    我唯一发现一些痕迹的地方是azure中的实时日志流,其中一个HTML被azure转储到控制台中

    HTTP错误502.3-指定CGI应用程序的网关错误 遇到错误,服务器终止了进程。

    这里发生了什么?有人遇到过类似的问题吗?如何进一步调试?

    error

    1 回复  |  直到 7 年前
        1
  •  2
  •   Community CDub    5 年前

    你可以从 Azure Web App sandbox , 幻影 不支持 在Azure WebApp上。

    其他情况如下: 不支持 :

    幻影 /Selenium:尝试连接到本地地址,并使用 GDI公司+ .

    根据 Azure Web App沙盒 ,支持以下PDF生成器。如果WebApp不是唯一的选择,你可以参考 Azure cloudservie or Azure VM.

    SQL Reporting framework:要求站点在Basic或更高版本中运行(这并不是说当前无法使用应用程序)

    EVOPDF :请参阅 http://www.evopdf.com/azure-html-to-pdf-converter.aspx 针对供应商解决方案

    Telerik reporting:要求网站以Basic或更高版本运行。更多信息请点击此处

    Rotativa/wkhtmltopdf:要求站点在 基本或更高。

    NReco PdfGenerator(wkhtmltopdf):需要订阅计划 基本或更高