Я хочу запускать и останавливать службы IIS Express для целей тестирования с использованием командной строки в моем приложении .NET, однако iisreset не оказал влияния на мои службы iis Express, и я не смог найти способ решить мою проблему.
Интересно то, что это работает: ![enter image description here](https://i.stack.imgur.com/00Iw9.png)
но когда я пытаюсь воспроизвести именно это в моем коде, остановка службы нажатием кнопки Q не работает.
Вот мой код:
Process cmd = new Process();
cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = false;
cmd.StartInfo.UseShellExecute = false;
cmd.Start();
cmd.StandardInput.WriteLine("cd C:\\Program Files (x86)\\IIS Express\\");
//var applicationPath =
cmd.StandardInput.WriteLine(@".\iisexpress /path:c:\users\lorin.palla\source\repos\pinkey-depot\pinkey-Depot\ /port:62008");
_driver.Url = ("http://localhost:62008/Customers/Create");
//this should pass
Assert.True(_driver.FindElement(By.Id("EMail")).Displayed);
Assert.True(_driver.FindElement(By.Id("Firstname")).Displayed);
cmd.StandardInput.WriteLine("q"); //seems to have no effect
_driver.Url = ("http://localhost:62008/Customers/Create");
//this should fail
Assert.True(_driver.FindElement(By.Id("EMail")).Displayed);
Assert.True(_driver.FindElement(By.Id("Firstname")).Displayed);
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
cmd.Kill();
Я потратил довольно много времени, пытаясь решить эту проблему, и я не могу поверить, что нет способа сделать то, что я намереваюсь.