在命令行中关闭IIS Express

时间:2019-01-08 17:00:59

标签: c# .net command-line iis-express

我想使用.NET应用程序中的命令行启动和停止IIS Express服务以进行测试,但是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();

我花了很多时间尝试解决这个问题,我不敢相信没有办法做到我想要的。

0 个答案:

没有答案