ServiceController.WaitForStatus Methode

Definition

Wartet, bis der Dienst den angegebenen Status annimmt.Waits for the service to reach the specified status.

Überlädt

WaitForStatus(ServiceControllerStatus)

Wartet unbegrenzt, bis der Dienst den angegebenen Zustand annimmt.Infinitely waits for the service to reach the specified status.

WaitForStatus(ServiceControllerStatus, TimeSpan)

Wartet, bis der Dienst den angegebenen Status annimmt oder bis das angegebene Timeout abläuft.Waits for the service to reach the specified status or for the specified time-out to expire.

WaitForStatus(ServiceControllerStatus)

Wartet unbegrenzt, bis der Dienst den angegebenen Zustand annimmt.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)

Parameter

desiredStatus
ServiceControllerStatus

Der Status, auf den gewartet werden soll.The status to wait for.

Ausnahmen

Der desiredStatus-Parameter ist keiner der in der ServiceControllerStatus-Enumeration definierten Werte.The desiredStatus parameter is not any of the values defined in the ServiceControllerStatus enumeration.

Beispiele

Im folgenden Beispiel wird die ServiceController-Klasse verwendet, um zu überprüfen, ob der aledienst angehalten wurde.The following example uses the ServiceController class to check whether the Alerter service is stopped. Wenn der Dienst beendet wird, wird im Beispiel der Dienst gestartet, und es wird gewartet, bis der Dienststatus auf Runningfestgelegt ist.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

Hinweise

Verwenden Sie WaitForStatus, um die Verarbeitung einer Anwendung anzuhalten, bis der Dienst den erforderlichen Status erreicht hat.Use WaitForStatus to suspend an application's processing until the service has reached the required status.

Hinweis

Die WaitForStatus-Methode wartet ungefähr 250 Millisekunden zwischen den einzelnen Status Prüfungen.The WaitForStatus method waits approximately 250 milliseconds between each status check. WaitForStatus kann die Groß-/Kleinschreibung des beobachteten Dienstanbieter nicht erkennen, der zum desiredStatus und dann sofort zu einem anderen Status in diesem Intervall wechselt.WaitForStatus cannot detect the case of the observed service changing to the desiredStatus and then immediately to another status in that interval.

Siehe auch

WaitForStatus(ServiceControllerStatus, TimeSpan)

Wartet, bis der Dienst den angegebenen Status annimmt oder bis das angegebene Timeout abläuft.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)

Parameter

desiredStatus
ServiceControllerStatus

Der Status, auf den gewartet werden soll.The status to wait for.

timeout
TimeSpan

Ein TimeSpan -Objekt, das die Zeitspanne angibt, die gewartet werden soll, bis der Dienst den angegebenen Status erreicht.A TimeSpan object specifying the amount of time to wait for the service to reach the specified status.

Ausnahmen

Der desiredStatus-Parameter ist keiner der in der ServiceControllerStatus-Enumeration definierten Werte.The desiredStatus parameter is not any of the values defined in the ServiceControllerStatus enumeration.

Der für den timeout-Parameter angegebene Wert läuft ab.The value specified for the timeout parameter expires.

Hinweise

Verwenden Sie WaitForStatus, um die Verarbeitung einer Anwendung anzuhalten, bis der Dienst den erforderlichen Status erreicht hat.Use WaitForStatus to suspend an application's processing until the service has reached the required status.

Hinweis

Die WaitForStatus-Methode wartet ungefähr 250 Millisekunden zwischen den einzelnen Status Prüfungen.The WaitForStatus method waits approximately 250 milliseconds between each status check. WaitForStatus kann die Groß-/Kleinschreibung des beobachteten Dienstanbieter nicht erkennen, der zum desiredStatus und dann sofort zu einem anderen Status in diesem Intervall wechselt.WaitForStatus cannot detect the case of the observed service changing to the desiredStatus and then immediately to another status in that interval.

Siehe auch

Gilt für: