ServiceController.WaitForStatus Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Wacht totdat de service de opgegeven status heeft bereikt.
Overloads
| Name | Description |
|---|---|
| WaitForStatus(ServiceControllerStatus) |
Wacht oneindig totdat de service de opgegeven status heeft bereikt. |
| WaitForStatus(ServiceControllerStatus, TimeSpan) |
Wacht totdat de service de opgegeven status heeft bereikt of dat de opgegeven time-out is verlopen. |
WaitForStatus(ServiceControllerStatus)
Wacht oneindig totdat de service de opgegeven status heeft bereikt.
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)
Parameters
- desiredStatus
- ServiceControllerStatus
De status moet wachten.
Uitzonderingen
De desiredStatus parameter is geen van de waarden die in de ServiceControllerStatus opsomming zijn gedefinieerd.
Voorbeelden
In het volgende voorbeeld wordt de ServiceController klasse gebruikt om te controleren of de Alerter-service is gestopt. Als de service is gestopt, wordt de service gestart in het voorbeeld en wordt gewacht totdat de servicestatus is ingesteld op 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
Opmerkingen
Gebruik WaitForStatus dit om de verwerking van een toepassing te onderbreken totdat de service de vereiste status heeft bereikt.
Note
De WaitForStatus methode wacht ongeveer 250 milliseconden tussen elke statuscontrole.
WaitForStatus kan het geval van de waargenomen service niet detecteren dat wordt gewijzigd in de desiredStatus en vervolgens onmiddellijk naar een andere status in dat interval.
Zie ook
Van toepassing op
WaitForStatus(ServiceControllerStatus, TimeSpan)
Wacht totdat de service de opgegeven status heeft bereikt of dat de opgegeven time-out is verlopen.
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)
Parameters
- desiredStatus
- ServiceControllerStatus
De status moet wachten.
- timeout
- TimeSpan
Een TimeSpan object dat aangeeft hoe lang moet worden gewacht totdat de service de opgegeven status heeft bereikt.
Uitzonderingen
De desiredStatus parameter is geen van de waarden die in de ServiceControllerStatus opsomming zijn gedefinieerd.
De opgegeven waarde voor de timeout parameter verloopt.
Opmerkingen
Gebruik WaitForStatus dit om de verwerking van een toepassing te onderbreken totdat de service de vereiste status heeft bereikt.
Note
De WaitForStatus methode wacht ongeveer 250 milliseconden tussen elke statuscontrole.
WaitForStatus kan het geval van de waargenomen service niet detecteren dat wordt gewijzigd in de desiredStatus en vervolgens onmiddellijk naar een andere status in dat interval.