ServiceController.WaitForStatus Méthode

Définition

Attend que le service atteigne l'état spécifié.

Surcharges

WaitForStatus(ServiceControllerStatus)

Attend indéfiniment que le service atteigne l'état spécifié.

WaitForStatus(ServiceControllerStatus, TimeSpan)

Attend que le service atteigne l'état spécifié ou l'expiration du délai d'attente spécifié.

WaitForStatus(ServiceControllerStatus)

Attend indéfiniment que le service atteigne l'état spécifié.

public:
 void WaitForStatus(System::ServiceProcess::ServiceControllerStatus desiredStatus);
public void WaitForStatus (System.ServiceProcess.ServiceControllerStatus desiredStatus);
member this.WaitForStatus : System.ServiceProcess.ServiceControllerStatus -> unit
Public Sub WaitForStatus (desiredStatus As ServiceControllerStatus)

Paramètres

desiredStatus
ServiceControllerStatus

État qu'il faut attendre.

Exceptions

Le paramètre desiredStatus ne représente aucune des valeurs définies dans l'énumération ServiceControllerStatus.

Exemples

L’exemple suivant utilise la ServiceController classe pour vérifier si le service Alerter est arrêté. Si le service est arrêté, l’exemple démarre le service et attend que l’état du service soit défini sur Running.

// Check whether the Alerter service is started.
ServiceController^ sc = gcnew ServiceController;
if ( sc )
{
   sc->ServiceName =  "Alerter";
   Console::WriteLine(  "The Alerter service status is currently set to {0}", sc->Status );
   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 );
      }
      catch ( InvalidOperationException^ e ) 
      {
         Console::WriteLine(  "Could not start the Alerter service." );
      }
   }
}

// 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);

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);
   }
   catch (InvalidOperationException)
   {
      Console.WriteLine("Could not start the Alerter service.");
   }
}

' Check whether the Alerter service is started.

Dim sc As New ServiceController()
sc.ServiceName = "Alerter"
Console.WriteLine("The Alerter service status is currently set to {0}", sc.Status)

If sc.Status = ServiceControllerStatus.Stopped Then
   ' 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)
   Catch 
      Console.WriteLine("Could not start the Alerter service.")
   End Try
End If

Remarques

Permet WaitForStatus de suspendre le traitement d’une application jusqu’à ce que le service ait atteint l’état requis.

Notes

La WaitForStatus méthode attend environ 250 millisecondes entre chaque vérification d’état. WaitForStatus ne peut pas détecter le cas où le service observé passe à l’état desiredStatus , puis immédiatement à un autre état dans cet intervalle.

Voir aussi

S’applique à

WaitForStatus(ServiceControllerStatus, TimeSpan)

Attend que le service atteigne l'état spécifié ou l'expiration du délai d'attente spécifié.

public:
 void WaitForStatus(System::ServiceProcess::ServiceControllerStatus desiredStatus, TimeSpan timeout);
public void WaitForStatus (System.ServiceProcess.ServiceControllerStatus desiredStatus, TimeSpan timeout);
member this.WaitForStatus : System.ServiceProcess.ServiceControllerStatus * TimeSpan -> unit
Public Sub WaitForStatus (desiredStatus As ServiceControllerStatus, timeout As TimeSpan)

Paramètres

desiredStatus
ServiceControllerStatus

État qu'il faut attendre.

timeout
TimeSpan

Objet TimeSpan spécifiant le temps d'attente avant que le service n'atteigne l'état spécifié.

Exceptions

Le paramètre desiredStatus ne représente aucune des valeurs définies dans l'énumération ServiceControllerStatus.

Valeur spécifiée pour l'expiration du paramètre timeout.

Remarques

Permet WaitForStatus de suspendre le traitement d’une application jusqu’à ce que le service ait atteint l’état requis.

Notes

La WaitForStatus méthode attend environ 250 millisecondes entre chaque vérification d’état. WaitForStatus ne peut pas détecter le cas où le service observé passe à l’état desiredStatus , puis immédiatement à un autre état dans cet intervalle.

Voir aussi

S’applique à