using System;
using System.ServiceProcess;
namespace WindowsServiceTest
{
public class ServiceHelper
{
public static bool IsServiceExisted(string serviceName)
{
ServiceController[] services = ServiceController.GetServices();
foreach (ServiceController item in services)
{
if (item.ServiceName == serviceName)
{
return true;
}
}
return false;
}
public static void StartService(string serviceName)
{
try
{
if (IsServiceExisted(serviceName))
{
using (ServiceController service = new ServiceController(serviceName))
{
if (service.Status != ServiceControllerStatus.Running &&
service.Status != ServiceControllerStatus.StartPending
)
{
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running, TimeSpan.FromSeconds(60));
service.Dispose();
}
}
}
}
catch (Exception)
{
throw;
}
}
public static void StopService(string serviceName)
{
try
{
if (IsServiceExisted(serviceName))
{
using (ServiceController service = new ServiceController(serviceName))
{
if (service.Status == ServiceControllerStatus.Running)
{
service.Stop();
service.WaitForStatus(ServiceControllerStatus.Stopped, TimeSpan.FromSeconds(60));
service.Dispose();
}
}
}
}
catch (Exception)
{
throw;
}
}
}
}
using System.ServiceProcess;
namespace WindowsServiceTest
{
public class ServiceHelper
{
public static bool IsServiceExisted(string serviceName)
{
ServiceController[] services = ServiceController.GetServices();
foreach (ServiceController item in services)
{
if (item.ServiceName == serviceName)
{
return true;
}
}
return false;
}
public static void StartService(string serviceName)
{
try
{
if (IsServiceExisted(serviceName))
{
using (ServiceController service = new ServiceController(serviceName))
{
if (service.Status != ServiceControllerStatus.Running &&
service.Status != ServiceControllerStatus.StartPending
)
{
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running, TimeSpan.FromSeconds(60));
service.Dispose();
}
}
}
}
catch (Exception)
{
throw;
}
}
public static void StopService(string serviceName)
{
try
{
if (IsServiceExisted(serviceName))
{
using (ServiceController service = new ServiceController(serviceName))
{
if (service.Status == ServiceControllerStatus.Running)
{
service.Stop();
service.WaitForStatus(ServiceControllerStatus.Stopped, TimeSpan.FromSeconds(60));
service.Dispose();
}
}
}
}
catch (Exception)
{
throw;
}
}
}
}