Я пытаюсь запустить команду через командную строку из веб-приложения ASP.Net. Я могу видеть запуск процесса в диспетчере задач на веб-сервере, однако процесс просто сидит там и никогда не завершается, и при этом он не выполняет указанные мной команды.
Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C " +command;
startInfo.UserName = "myuser";
startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = true;
startInfo.Domain = "mydomain";
startInfo.CreateNoWindow = true;
String pass = "mypass";
System.Security.SecureString secPass = new System.Security.SecureString();
foreach (char c in pass.ToCharArray())
{
secPass.AppendChar(c);
}
secPass.MakeReadOnly();
startInfo.Password = secPass;
process.StartInfo = startInfo;
process.Start();
//output = process.StandardOutput.ReadToEnd();
process.WaitForExit();
process.Close();
Я пробовал как с чтением стандартного вывода, так и без него.
Приложение будет зависать на process.WaitForExit ();
, пока я не завершу процесс через диспетчер задач.