Teilen über


ServiceController.WaitForStatus Methode

Definition

Wartet, bis der Dienst den angegebenen Status annimmt.

Überlädt

WaitForStatus(ServiceControllerStatus)

Wartet unbegrenzt, bis der Dienst den angegebenen Zustand annimmt.

WaitForStatus(ServiceControllerStatus, TimeSpan)

Wartet, bis der Dienst den angegebenen Status annimmt oder bis das angegebene Timeout abläuft.

WaitForStatus(ServiceControllerStatus)

Quelle:
ServiceController.cs
Quelle:
ServiceController.cs
Quelle:
ServiceController.cs
Quelle:
ServiceController.cs

Wartet unbegrenzt, bis der Dienst den angegebenen Zustand annimmt.

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.

Ausnahmen

Der desiredStatus-Parameter ist keiner der in der ServiceControllerStatus-Enumeration definierten Werte.

Beispiele

Im folgenden Beispiel wird die ServiceController -Klasse verwendet, um zu überprüfen, ob der Warnungsdienst beendet ist. Wenn der Dienst beendet wird, startet das Beispiel den Dienst und wartet, bis der Dienststatus auf Runningfestgelegt ist.

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

Hinweise

Verwenden Sie WaitForStatus , um die Verarbeitung einer Anwendung anzusetzen, bis der Dienst den erforderlichen Status erreicht hat.

Hinweis

Die WaitForStatus Methode wartet etwa 250 Millisekunden zwischen den einzelnen Statusüberprüfungen. WaitForStatus kann den Fall nicht erkennen, dass der beobachtete Dienst in das desiredStatus und dann sofort in einen anderen Status in diesem Intervall wechselt.

Weitere Informationen

Gilt für:

WaitForStatus(ServiceControllerStatus, TimeSpan)

Quelle:
ServiceController.cs
Quelle:
ServiceController.cs
Quelle:
ServiceController.cs
Quelle:
ServiceController.cs

Wartet, bis der Dienst den angegebenen Status annimmt oder bis das angegebene Timeout abläuft.

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.

timeout
TimeSpan

Ein TimeSpan-Objekt, das die Zeitspanne angibt, die gewartet werden soll, bis der Dienst den angegebenen Status erreicht.

Ausnahmen

Der desiredStatus-Parameter ist keiner der in der ServiceControllerStatus-Enumeration definierten Werte.

Der für den timeout-Parameter angegebene Wert läuft ab.

Hinweise

Verwenden Sie WaitForStatus , um die Verarbeitung einer Anwendung anzusetzen, bis der Dienst den erforderlichen Status erreicht hat.

Hinweis

Die WaitForStatus Methode wartet etwa 250 Millisekunden zwischen den einzelnen Statusüberprüfungen. WaitForStatus kann den Fall nicht erkennen, dass der beobachtete Dienst in das desiredStatus und dann sofort in einen anderen Status in diesem Intervall wechselt.

Weitere Informationen

Gilt für: