从ASP.NET执行EXE

deb*_*cey 3 c# asp.net iis-6

我想从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);
Run Code Online (Sandbox Code Playgroud)

退出代码是:-532459699,所以显然出了问题.

我通过经过身份验证的HTTPS连接(基本身份验证)在服务器上运行应用程序,所以我想我可以通过设置标记<identity impersonate="true" />下的Web.config文件来解决问题<system.web>.但是 - 这没效果.

谢谢 - 所有帮助表示赞赏.

Adi*_*Adi 8

您的网站在受限制的用户帐户下运行.除非您使用模拟,否则您的EXE将在相同的受限帐户下运行.

编辑:Microsoft的支持:http://support.microsoft.com/kb/306158