Я хочу запускать и останавливать службы IIS Express в целях тестирования с помощью командной строки в моем приложении .NET, однако iisreset не повлиял на мои службы iis Express, и я не смог найти способ решить свою проблему.
но когда я пытаюсь воспроизвести именно это в своем коде, остановка службы нажатием кнопки 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\<User-Name>\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();
Я потратил немало времени на попытки решить эту проблему и не могу поверить, что у меня нет возможности сделать то, что я намереваюсь.





Возможно, вам будет полезен этот ответ: stackoverflow.com/questions/44975707/… вместо использования командной строки.