.NET Core 2.0.0で実装されたReSTful APIがあり、AzureのAppサービスでホストされています。Azure AppサービスのASP.NETコアでPhantomjs.exeを実行する
私はPhantomJS.exe
を使用してPDFファイルを生成するために、コントローラの1を取得しようとしていますので、私はこの方法を作成している
コントローラの概要が
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
風で紺碧のものと同じバージョンの.Net Coreを搭載したマシンです。
しかし、紺碧に展開する場合、サービスが長時間任意の応答を生成するために失敗し、
このエラーで戻ってくる指定したCGIアプリケーションでエラーが発生し、サーバー は、プロセスを終了APIを打ちます。
私はいくつかの痕跡を発見した唯一の場所は、HTMLが紺碧
HTTPエラー502.3によってコンソールにダンプを取得します紺碧でのライブログ・ストリームである - 不正なゲートウェイは、指定されたCGIアプリケーション は、エラーが発生し、サーバーはプロセスを終了しました。
何が起こっているのですか?誰かに同様の問題が発生しましたか?どうすればさらにデバッグできますか?
注意が必要です。パスが正しくないと意味のあるエラーが発生します。 – n00b
Azureレベルのログを確認しましたか?それらはAzureのポータルにあります。アプリケーションの洞察を追加しましたか?これは本当にデバッグにも役立ちます。 –
代わりにLinuxワーカーを使ってApp Serviceにデプロイする(独自のコンテナを持参する)。 App ServiceのWindowsの魅力は、PhantomJSがやろうとしている何らかのポートにバインドすることを許可していません - https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#サポートされていないフレームワーク – evilSnobu