我有一个 Web 应用程序,我想在其中向命令行发送命令(命令未知)。这是我使用的方法
public static string ExecuteCommand(string command)
{
String result;
try
{
//Create a new ProcessStartInfo
System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", "/c " + command);
//Settings
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow = true;
//Create new Process
System.Diagnostics.Process proc = new System.Diagnostics.Process();
//Set ProcessStartInfo
proc.StartInfo = procStartInfo;
//Start Process
proc.Start();
//Wait to exit
proc.WaitForExit();
//Get Result
result = proc.StandardOutput.ReadToEnd();
//Return
return result;
}
catch
{
}
return null;
}
该命令适用于控制台应用程序,但不适用于 Web 应用程序(返回 null)
public string test = "NOTHING";
protected void Page_Load(object sender, EventArgs e)
{
test = AppCommandHandler.ExecuteCommand("mkdir test2");
}
我做错了什么?我看的每个教程都告诉我使用 ProcessStartInfo
编辑 我不断收到此错误:
{"StandardOut has not been redirected or the process hasn't started yet."}
Web 应用程序的池是否有足够的权限来执行此命令?
我是一名优秀的程序员,十分优秀!