【发布时间】:2011-05-05 23:23:51
【问题描述】:
我想从 ASP.NET MVC 应用程序中执行一个 exe。是的,我理解这样做的内在风险,但不幸的是我真的需要这样做。
EXE 是一个 GUI 应用程序,但我传递给它的参数会强制它“静默”运行,将一些数据生成到一个 zip 文件中,然后退出。
执行EXE的代码如下——在VS2008中我的开发箱运行良好——但是当我测试实际服务器(Server 2003 - IIS6)时,它失败了:
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "C:\.....";
psi.Arguments = "-silent -file outFile.zip";
Process proc = new Process();
proc.StartInfo = psi;
proc.Start();
proc.WaitForExit();
log.Debug("Process exited: " + proc.ExitCode);
退出代码是:-532459699,所以很明显出了点问题。
我正在通过经过身份验证的 HTTPS 连接(基本身份验证)在服务器上运行应用程序,因此我认为可以通过在 <system.web> 下的 Web.config 文件中设置 <identity impersonate="true" /> 来解决此问题标签。但是——这没有奏效。
谢谢——感谢所有帮助。
【问题讨论】:
-
你只是想压缩一些文件/目录吗?
-
是的,但我删除了一些参数,因为它们与问题无关。弄清楚要压缩的内容的实际过程很复杂,并且需要大量的后端 DLL 和我不想拉入我的 Web 应用程序的东西。因此,我尝试使用我们的独立 EXE 来完成所有艰苦的工作。