我制作了一个需要运行iisreset.exe的功能的应用程序。我的应用程序是在服务器上部署。所以iisreset应该是服务器而不是客户端机器。我使用process.start()但它重置客户端机器的iis。我应该修改什么代码。
答案 0 :(得分:4)
使用Process
类来执行进程。
How To: Execute command line in C#, get STD OUT results
// Start the child process.
Process p = new Process();
// Redirect the output stream of the child process.
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "YOURBATCHFILE.bat";
p.Start();
// Do not wait for the child process to exit before
// reading to the end of its redirected stream.
// p.WaitForExit();
// Read the output stream first and then wait.
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
答案 1 :(得分:2)
使用Process.Start()
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start.aspx
加入OnExited事件,以便在退出时获取。
此外,请考虑iisreset
对整个系统的影响。如果其他人在同一台服务器上运行网站,他们可能对您的软件不满意。