ServiceController.WaitForStatus Metod

Definition

Väntar på att tjänsten ska nå den angivna statusen.

Överlagringar

Name Description
WaitForStatus(ServiceControllerStatus)

Väntar oändligt på att tjänsten ska nå den angivna statusen.

WaitForStatus(ServiceControllerStatus, TimeSpan)

Väntar på att tjänsten ska nå den angivna statusen eller att den angivna tidsgränsen upphör att gälla.

WaitForStatus(ServiceControllerStatus)

Väntar oändligt på att tjänsten ska nå den angivna statusen.

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)

Parametrar

desiredStatus
ServiceControllerStatus

Status att vänta på.

Undantag

Parametern desiredStatus är inte något av de värden som definierats i ServiceControllerStatus uppräkningen.

Exempel

I följande exempel används ServiceController klassen för att kontrollera om Alerter-tjänsten har stoppats. Om tjänsten stoppas startar exemplet tjänsten och väntar tills tjänststatusen har angetts till 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

Kommentarer

Använd WaitForStatus för att pausa bearbetningen av ett program tills tjänsten har nått den status som krävs.

Note

Metoden WaitForStatus väntar cirka 250 millisekunder mellan varje statuskontroll. WaitForStatus kan inte identifiera fallet med den observerade tjänsten som ändras till desiredStatus och sedan omedelbart till en annan status i det intervallet.

Se även

Gäller för

WaitForStatus(ServiceControllerStatus, TimeSpan)

Väntar på att tjänsten ska nå den angivna statusen eller att den angivna tidsgränsen upphör att gälla.

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)

Parametrar

desiredStatus
ServiceControllerStatus

Status att vänta på.

timeout
TimeSpan

Ett TimeSpan objekt som anger hur lång tid tjänsten ska vänta för att nå den angivna statusen.

Undantag

Parametern desiredStatus är inte något av de värden som definierats i ServiceControllerStatus uppräkningen.

Värdet som anges för parametern timeout upphör att gälla.

Kommentarer

Använd WaitForStatus för att pausa bearbetningen av ett program tills tjänsten har nått den status som krävs.

Note

Metoden WaitForStatus väntar cirka 250 millisekunder mellan varje statuskontroll. WaitForStatus kan inte identifiera fallet med den observerade tjänsten som ändras till desiredStatus och sedan omedelbart till en annan status i det intervallet.

Se även

Gäller för