ServiceController.WaitForStatus ServiceController.WaitForStatus ServiceController.WaitForStatus ServiceController.WaitForStatus Method

Definizione

Attende che il servizio raggiunga lo stato specificato.Waits for the service to reach the specified status.

Overload

WaitForStatus(ServiceControllerStatus) WaitForStatus(ServiceControllerStatus) WaitForStatus(ServiceControllerStatus) WaitForStatus(ServiceControllerStatus)

Attende che il servizio raggiunga lo stato specificato senza limiti di tempo.Infinitely waits for the service to reach the specified status.

WaitForStatus(ServiceControllerStatus, TimeSpan) WaitForStatus(ServiceControllerStatus, TimeSpan) WaitForStatus(ServiceControllerStatus, TimeSpan) WaitForStatus(ServiceControllerStatus, TimeSpan)

Attende che il servizio raggiunga lo stato specificato oppure la scadenza del timeout specificato.Waits for the service to reach the specified status or for the specified time-out to expire.

WaitForStatus(ServiceControllerStatus) WaitForStatus(ServiceControllerStatus) WaitForStatus(ServiceControllerStatus) WaitForStatus(ServiceControllerStatus)

Attende che il servizio raggiunga lo stato specificato senza limiti di tempo.Infinitely waits for the service to reach the specified status.

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)

Parametri

desiredStatus
ServiceControllerStatus ServiceControllerStatus ServiceControllerStatus ServiceControllerStatus

Stato da attendere.The status to wait for.

Eccezioni

Il parametro desiredStatus non corrisponde a nessuno dei valori definiti nell'enumerazione ServiceControllerStatus.The desiredStatus parameter is not any of the values defined in the ServiceControllerStatus enumeration.

Esempi

L'esempio seguente usa il ServiceController classe per verificare se il servizio avvisi viene arrestato.The following example uses the ServiceController class to check whether the Alerter service is stopped. Se il servizio viene arrestato, l'esempio avvia il servizio e attende fino a quando lo stato del servizio viene impostato su Running.If the service is stopped, the example starts the service and waits until the service status is set to 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.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.");
   }
}

' 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

Commenti

Usare WaitForStatus sospendere un'applicazione di elaborazione fino a quando il servizio ha raggiunto lo stato necessario.Use WaitForStatus to suspend an application's processing until the service has reached the required status.

Nota

Il WaitForStatus metodo attende circa 250 millisecondi tra ogni controllo dello stato.The WaitForStatus method waits approximately 250 milliseconds between each status check. WaitForStatus non è in grado di rilevare il caso di modifica per il servizio osservato il desiredStatus e quindi immediatamente in un altro stato in tale intervallo.WaitForStatus cannot detect the case of the observed service changing to the desiredStatus and then immediately to another status in that interval.

Vedi anche

WaitForStatus(ServiceControllerStatus, TimeSpan) WaitForStatus(ServiceControllerStatus, TimeSpan) WaitForStatus(ServiceControllerStatus, TimeSpan) WaitForStatus(ServiceControllerStatus, TimeSpan)

Attende che il servizio raggiunga lo stato specificato oppure la scadenza del timeout specificato.Waits for the service to reach the specified status or for the specified time-out to expire.

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)

Parametri

desiredStatus
ServiceControllerStatus ServiceControllerStatus ServiceControllerStatus ServiceControllerStatus

Stato da attendere.The status to wait for.

timeout
TimeSpan TimeSpan TimeSpan TimeSpan

Oggetto TimeSpan che specifica il tempo di attesa prima che il servizio raggiunga lo stato specificato.A TimeSpan object specifying the amount of time to wait for the service to reach the specified status.

Eccezioni

Il parametro desiredStatus non corrisponde a nessuno dei valori definiti nell'enumerazione ServiceControllerStatus.The desiredStatus parameter is not any of the values defined in the ServiceControllerStatus enumeration.

Il valore specificato per il parametro timeout ha una scadenza.The value specified for the timeout parameter expires.

Commenti

Usare WaitForStatus sospendere un'applicazione di elaborazione fino a quando il servizio ha raggiunto lo stato necessario.Use WaitForStatus to suspend an application's processing until the service has reached the required status.

Nota

Il WaitForStatus metodo attende circa 250 millisecondi tra ogni controllo dello stato.The WaitForStatus method waits approximately 250 milliseconds between each status check. WaitForStatus non è in grado di rilevare il caso di modifica per il servizio osservato il desiredStatus e quindi immediatamente in un altro stato in tale intervallo.WaitForStatus cannot detect the case of the observed service changing to the desiredStatus and then immediately to another status in that interval.

Vedi anche

Si applica a