Закрытие IIS Express в командной строке - PullRequest
0 голосов
/ 08 января 2019

Я хочу запускать и останавливать службы IIS Express для целей тестирования с использованием командной строки в моем приложении .NET, однако iisreset не оказал влияния на мои службы iis Express, и я не смог найти способ решить мою проблему.

Интересно то, что это работает: enter image description here

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

Я потратил довольно много времени, пытаясь решить эту проблему, и я не могу поверить, что нет способа сделать то, что я намереваюсь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...