ServiceController.WaitForStatus Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.