Почему команда cmd.exe / C не завершается при вызове через Process.Start ()?

Я пытаюсь запустить команду через командную строку из веб-приложения 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 (); , пока я не завершу процесс через диспетчер задач.

7
задан Petey B 28 January 2011 в 17:35
поделиться