2
using System.ServiceProcess;
3
using Rackspace.Cloud.Server.Common.Logging;
5
namespace Rackspace.Cloud.Server.Agent.Actions
7
public interface IServiceStarter
9
void Start(string serviceName);
12
public class ServiceStarter : IServiceStarter
14
private readonly ILogger _logger;
16
public ServiceStarter(ILogger logger)
21
public void Start(string serviceName)
23
_logger.Log(String.Format("Starting '{0}' Service ...", serviceName));
24
var serviceController = new ServiceController(serviceName);
25
if (serviceController.Status == ServiceControllerStatus.Running)
27
_logger.Log(String.Format("'{0}' service already started.", serviceName));
31
serviceController.Start();
32
serviceController.WaitForStatus(ServiceControllerStatus.Running);
34
serviceController.Close();
35
_logger.Log(String.Format("Service '{0}' started and now running ...", serviceName));
b'\\ No newline at end of file'