我有一个运行IIS7的Windows2008Box。服务器承载一个绝对需要触发外部进程的ASP.NET应用程序--位于同一台计算机中的可执行文件。
此设置在ASP.NET开发服务器中运行良好,但在涉及IIS时彻底失败。我尝试了一切:修改machine.config文件,更改应用程序池的身份,使用文件和文件夹权限,更改服务“登录”选项卡中的设置.毫无办法。
我尝试运行哪个可执行文件也不重要。即使是"notepad.exe“也失败了。
我可能错过了什么,因为一个如此琐碎的任务应该没有那么难。是的,我知道我想要做的事情对安全的影响,但在这种情况下,没有其他方法了。
提前谢谢。
发布于 2010-10-28 14:12:35
检查应用程序池标识和网站上匿名用户的身份。对于该站点,如果您设置匿名用户使用应用程序池的身份,这将使事情变得更干净,只要您不在不受信任的站点之间共享应用程序池。与您的管理用户测试,并确保UAC没有与您斗争。一定要在测试后返回到自定义用户。
另一个可能的问题是如何从IIS加载用户配置文件。在应用程序池的高级设置中,尝试使用“加载用户配置文件”。
另一件事是通过cmd.exe运行这个应用程序。例如:
var p = new Process();
string command = "notepad.exe";
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.WorkingDirectory = "valid working directory";
p.StartInfo.Arguments = String.Format("/C {0}", command);https://serverfault.com/questions/195037
复制相似问题