如何从asp.net web应用程序启动多个windows服务?
问题描述:
我想重新启动我的本地计算机上运行的一组windows服务。 我想重新启动所有这些服务一次,当我点击我的asp.net应用程序中的按钮?如何从asp.net web应用程序启动多个windows服务?
如果有人能帮助我,我将不胜感激。
截至目前,我可以通过使用 服务控制器类来实现重新启动单个Windows服务的场景。
答
只需在遍历每个服务名称中放置一个循环即可。为每个服务名称创建一个ServiceController并在那里重新启动它。
List<string> serviceList = //however you get all of the services you want to start, put them in here.
foreach(string serviceName in serviceList)
{
ServiceController controller = new ServiceController(serviceName);
....
controller.Restart();
}
要使用批处理文件中使用:
System.Diagnostics.Process.Start(pathToBatchFile);
您可以通过使用智能感知和一点点好奇心管理过程。另外,这里是我为你找到的一篇msdn文章。
http://blogs.msdn.com/b/csharpfaq/archive/2004/06/01/146375.aspx
要隐藏命令提示,并具有在所述过程更多的控制,使用System.Diagnostics.ProcessStartInfo类及其对象传递给的Process.Start方法。您甚至可以捕获程序内批处理文件的输出。
将当前实现放入循环中出现了什么问题? – ScottTx 2011-05-11 18:40:27