我想使用.NET应用程序中的命令行启动和停止IIS Express服务以进行测试,但是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\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();
我花了很多时间尝试解决这个问题,我不敢相信没有办法做到我想要的。