这个例子展示了如何用C#编程实现启动、停止和重启Windows服务。

这个例子展示了如何用C#编程实现启动、停止和重启Windows服务。

 

 

启动服务

下面的方法尝试通过指定的服务名称启动服务。然后等待知道服务运行或发生超时。

 

[C#]

 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public static void StartService( string serviceName, int timeoutMilliseconds) {    ServiceController service = new ServiceController(serviceName);    try    {      TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);        service.Start();      service.WaitForStatus(ServiceControllerStatus.Running, timeout);    }    catch    {      // ...    } }

停止服务   下面的方法尝试停止指定的服务,然后等待服务停止或发生超时。   [C#]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public static void StopService( string serviceName, int timeoutMilliseconds) {    ServiceController service = new ServiceController(serviceName);    try    {      TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);        service.Stop();      service.WaitForStatus(ServiceControllerStatus.Stopped, timeout);    }    catch    {      // ...    } }

重启服务 这个方法是上两个方法的合并,尝试停止服务(并等待,直到它停止)然后启动服务(直到服务运行)。指定的超时时间是两个操作合计的超时时间。