净申请。我想显示其他exe程序的输出。我在开发的PC上测试我的程序,但是如果我在Windows Server 2008 r2(IIS7)上安装应用程序,那么我就不会得到输出。我一无所获:(
我尝试添加此exe硬编码的路径,但这仅适用于开发PC。
这是我的C#代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
try
{
string path = @"C:\\Windows\\TEMP\\lstc_qrun.exe -s lwserv-lic -R";
Response.Write(path);
string o = class.ExecuteCommand(path);
txtoutput.Text = o;
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
}
string path是这个exe的路径和我用来获取输出的命令。在WinServer08R2上是C:\ windows中的临时路径...我将exe放在temp文件夹中。
路径在服务器上是正确的。如果我在终端上测试exe而不是输出!
这是我的ExecuteCommand方法:
public static string ExecuteCommand(string command)
{
int exitCode;
ProcessStartInfo processInfo;
Process process;
try
{
processInfo = new ProcessStartInfo("cmd.exe", "/c " + command);
processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;
processInfo.RedirectStandardError = true;
processInfo.RedirectStandardOutput = true;
using (process = Process.Start(processInfo))
{
string output = process.StandardOutput.ReadToEnd();
exitCode = process.ExitCode;
return output;
}
}
catch (Exception ex)
{
return "error: " + ex.Message;
}
}
我不明白什么是开发机器的差异:-(?
路径是正确的! 如果我用终端测试它,那么Exe在服务器上工作! 我没有得到输出......没有错误!
帮帮我