在 IIS Web 服务器上的 .NET MVC Web 项目中启动 cmd 进程调用(不起作用!



嗨,软件开发人员

所以我需要在我的.NET MVC Web项目中启动一个CMD过程。这是我传递需要调用的命令的函数:

private void ExecuteCommandSync(string command)
        {
            System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", "/c " + command);
            // Hide the CMD window:
            procStartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            // The following commands are needed to redirect the standard output.
            procStartInfo.UseShellExecute = true;
            // Now we create a process, assign its ProcessStartInfo and start it
            System.Diagnostics.Process proc = new System.Diagnostics.Process();
            proc.StartInfo = procStartInfo;
            proc.Start();
            proc.WaitForExit();
        }

命令调用一个程序,该程序启动线性编程框架,该框架解决需要 20 秒才能完成的问题。

问题是调用此函数时没有任何反应!它在 IIS 之外工作正常,但在 IIS 中不能。IIS Web 服务器在 Windows Server 2012 上运行。我的 Web 项目是从运行 Web 服务器的本地网络外部调用的,执行一些工作,调用我的同步方法并等待它完成,并通过将调用结果作为 JSON 对象返回而结束。

这个问题表明它可能具有用户权限。在高级设置 ->身份的Web项目的应用程序池中,我试图从ApplicaitonPoolIdentity更改为本地系统(具有高权限(,但没有运气(如此处所述(。

有人对如何解决这个问题有任何建议吗?任何建议将不胜感激。

您必须在用户具有执行执行权限下运行项目池。

相关内容

最新更新