ServiceController.WaitForStatus Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wartet, bis der Dienst den angegebenen Status erreicht.
Überlädt
| Name | Beschreibung |
|---|---|
| WaitForStatus(ServiceControllerStatus) |
Wartet unendlich, bis der Dienst den angegebenen Status erreicht. |
| WaitForStatus(ServiceControllerStatus, TimeSpan) |
Wartet, bis der Dienst den angegebenen Status erreicht oder das angegebene Timeout abläuft. |
WaitForStatus(ServiceControllerStatus)
Wartet unendlich, bis der Dienst den angegebenen Status erreicht.
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 keines der werte, die in der ServiceControllerStatus Enumeration definiert sind.
Beispiele
Im folgenden Beispiel wird die ServiceController Klasse verwendet, um zu überprüfen, ob der Alerter-Dienst beendet wird. Wenn der Dienst beendet wird, startet das Beispiel den Dienst und wartet, bis der Dienststatus auf 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
Hinweise
Wird verwendet WaitForStatus , um die Verarbeitung einer Anwendung anzuhalten, bis der Dienst den erforderlichen Status erreicht hat.
Note
Die WaitForStatus Methode wartet ungefähr 250 Millisekunden zwischen den einzelnen Statusüberprüfungen.
WaitForStatus Der Fall des beobachteten Diensts kann nicht erkannt werden, der in dieses desiredStatus Intervall geändert wird, und dann sofort auf einen anderen Status in diesem Intervall.
Weitere Informationen
Gilt für:
WaitForStatus(ServiceControllerStatus, TimeSpan)
Wartet, bis der Dienst den angegebenen Status erreicht oder 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 auf den Dienst wartet, um den angegebenen Status zu erreichen.
Ausnahmen
Der desiredStatus Parameter ist keines der werte, die in der ServiceControllerStatus Enumeration definiert sind.
Der für den timeout Parameter angegebene Wert läuft ab.
Hinweise
Wird verwendet WaitForStatus , um die Verarbeitung einer Anwendung anzuhalten, bis der Dienst den erforderlichen Status erreicht hat.
Note
Die WaitForStatus Methode wartet ungefähr 250 Millisekunden zwischen den einzelnen Statusüberprüfungen.
WaitForStatus Der Fall des beobachteten Diensts kann nicht erkannt werden, der in dieses desiredStatus Intervall geändert wird, und dann sofort auf einen anderen Status in diesem Intervall.