我在中实现了一个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应用程序的网关错误
遇到错误,服务器终止了进程。
这里发生了什么?有人遇到过类似的问题吗?如何进一步调试?