几天来我一直在努力解决这个问题,并在高处和低处寻找可能的解决方案,但找不到任何东西。
我的问题是我正在尝试从我的 ASP 网站运行我在 Delphi 中编译的 .exe 程序。Delphi 程序只是生成一个带有一些元数据的 pdf 报告并将其保存在某个文件夹中。
现在,当我访问网站并单击应该启动程序的按钮时,程序会在服务器上启动(我可以在任务管理器中看到它),但不会执行它应该执行的操作。当我在任务管理器中结束进程时,网站就会挂起 WaitForExit (因为程序永远不会执行和退出),然后网站会收到程序已退出的反馈并继续它应该做的事情......
这是我调用来运行 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并退出。
我已经设置了适当的安全权限和所有,但我显然错过了一些东西......
任何帮助或想法将不胜感激。
非常感谢!