Saltar al contenido

Iniciar detener el servicio desde la aplicación de formulario c#

Emiliano, miembro de nuestro equipo, nos ha hecho el favor de crear este tutorial ya que controla perfectamente este tema.

Solución:

Añadir una referencia a System.ServiceProcess.dll. Entonces puedes usar la clase ServiceController.

// Check whether the Alerter service is started.
ServiceController sc  = new ServiceController();
sc.ServiceName = "Alerter";
Console.WriteLine("The Alerter service status is currently set to 0", 
                   sc.Status.ToString());

if (sc.Status == ServiceControllerStatus.Stopped)

   // Start the service if the current status is stopped.
   Console.WriteLine("Starting the Alerter service...");
   try 
   
      // Start the service, and wait until its status is "Running".
      sc.Start();
      sc.WaitForStatus(ServiceControllerStatus.Running);

      // Display the current service status.
      Console.WriteLine("The Alerter service status is now set to 0.", 
                         sc.Status.ToString());
   
   catch (InvalidOperationException)
   
      Console.WriteLine("Could not start the Alerter service.");
   

Primero agregue una referencia al ensamblado System.ServiceProcess.

Para comenzar:

ServiceController service = new ServiceController("YourServiceName");
service.Start();
var timeout = new TimeSpan(0, 0, 5); // 5seconds
service.WaitForStatus(ServiceControllerStatus.Running, timeout);

Para detener:

ServiceController service = new ServiceController("YourServiceName");
service.Stop();
 var timeout = new TimeSpan(0, 0, 5); // 5seconds
service.WaitForStatus(ServiceControllerStatus.Stopped, timeout);

Ambos ejemplos muestran cómo esperar hasta que el servicio alcance un nuevo estado (en ejecución, detenido… etc.). El parámetro de tiempo de espera en WaitForStatus es opcional.

Puede hacerlo así, Detalles del controlador de servicio

ServiceController sc = new ServiceController("your service name");
if (sc.Status == ServiceControllerStatus.Stopped)

  sc.Start();


Del mismo modo, puede dejar de usar el método de parada

  sc.Stop();

Acuérdate de que tienes autorización de agregar una reseña si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *