C#进程无法在IIS上运行
我有一个web应用程序,它必须打开一个进程并等待退出。 此过程是一个使用Cygwin的.sh脚本 我正在使用以下代码:C#进程无法在IIS上运行,c#,asp.net,.net,asp.net-mvc,iis,C#,Asp.net,.net,Asp.net Mvc,Iis,我有一个web应用程序,它必须打开一个进程并等待退出。 此过程是一个使用Cygwin的.sh脚本 我正在使用以下代码: var process = new Process(); var string processFileLocation = @"C:\script.sh"; var string workingDirectoryLocation = @"C:\script"; var processInformation = n
var process = new Process();
var string processFileLocation = @"C:\script.sh";
var string workingDirectoryLocation = @"C:\script";
var processInformation = new ProcessStartInfo(processFileLocation)
{
WorkingDirectory = workingDirectoryLocation,
UseShellExecute = true
};
process.StartInfo = processInformation;
process.Start();
process.WaitForExit();
如果我使用IISExpress运行应用程序,一切正常,脚本正在调用
当我将其添加到IIS时,进程就会被阻塞,我从未收到任何应该调用进程的请求的响应
我为该网站使用的应用程序池的文件夹添加了“完全控制”权限,但仍然没有区别
你知道它为什么会这样吗?每当有东西在放入IIS时停止运行时,很可能是由于权限不足。从使用管理员帐户运行池开始。如果它解决了问题,那么您可以从那里开始查找缺少的权限。在无人参与的设置中运行时,脚本会生成提示,因此永远不会退出?请尝试使用管理员帐户运行应用程序池,以确保这不是权限issue@KevinGosse谢谢你,伙计,这很有效。我对此有些挣扎,你的回答起了作用。发布一个答案,这样我就可以将其标记为“正确”。当然,正如Kevin所暗示的那样,您永远不应该使用生产应用程序的
管理员帐户帐户,而只是作为确定是否存在权限不足的问题的工具。如果是这样,您应该专门为应用程序设置一个帐户,该帐户仅具有所需的权限。