如何让IIS网站用户执行.cmd程序

我有一个情况,我需要在我的IIS网站上执行.cmd程序。 这是validation和传输文件的第三方程序,所以我无法另行select。

我通过以编程方式在新进程中启动程序来完成此操作。

采取这种方法与.exe文件完美的作品。 我收到该程序的标准输出。 但是,当我尝试对.cmd文件执行相同的操作时,情况并非如此。 没有收到标准输出。

该代码完美地在我的本地计算机上工作,所以我认为问题在于IISconfiguration。 可能是用户或文件的限制。

有人能指导我在正确的方向吗?

编辑这里是我使用的C#代码。

ProcessStartInfo info = new ProcessStartInfo(); info.WindowStyle = ProcessWindowStyle.Hidden; info.CreateNoWindow = true; info.FileName = AppDomain.CurrentDomain.BaseDirectory + @"export\foo.cmd"; //replacing foo.cmd with foo.exe works info.UseShellExecute = false; info.RedirectStandardOutput = true; using (Process process = Process.Start(info)) { using (StreamReader reader = process.StandardOutput) { string result = reader.ReadToEnd(); Response.Write(result); } } 

我自己find了解决scheme。 我已经在StackOverflow上发布了我的发现。

它实际上是一个IIS AppPool用户问题,所以发布这个问题并不完全绝望。