私はこの問題に何日も苦労しており、可能な解決策を高低で検索しましたが、何も見つかりません。
私の問題は、ASP Web サイトから Delphi でコンパイルした .exe プログラムを実行しようとしていることです。Delphi プログラムは、いくつかのメタデータを含む PDF レポートを生成し、特定のフォルダーに保存します。
ウェブサイトにアクセスして、プログラムを開始するはずのボタンをクリックすると、プログラムがサーバー上で開始されます (タスク マネージャーで確認できます) が、本来の目的を実行しません。タスクマネージャーでプロセスを終了すると、WebサイトはWaitForExitのままハングします(プログラムが実行されずに終了するため)、Webサイトはプログラムが終了したというフィードバックを受け取り、本来の処理を続行します...
exeを実行するために呼び出すコードは次のとおりです。
試す {
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.FileName = "C:\\inetpub\\wwwroot\\WILMA\\DailyRep.exe";
//start and wait for the exe the run to completion
process.Start();
process.WaitForExit();
//send the .pdf to the user
Response.ClearContent();
Response.AddHeader("Content-disposition", "attachment; filename=" + "Daily_Report.pdf");
Response.ContentType = "application/pdf";
Response.TransmitFile("C:\\inetpub\\wwwroot\\WILMA\\DailyRep.pdf");
Response.End();
}
catch (Exception ex)
{
//throw;
}
プログラムは、ユーザーが詳細などを追加する必要はありません。実行するだけで、pdf を生成して終了します。
私はすでに適切なセキュリティ権限とすべてを設定していますが、明らかに何かが欠けています...
どんな助けやアイデアも大歓迎です。
どうもありがとう!