.NET Framework Class Library
ServiceController..::.WaitForStatus Method (ServiceControllerStatus, TimeSpan)

Waits for the service to reach the specified status or for the specified time-out to expire.

Namespace:  System.ServiceProcess
Assembly:  System.ServiceProcess (in System.ServiceProcess.dll)
Syntax

Visual Basic (Declaration)
Public Sub WaitForStatus ( _
    desiredStatus As ServiceControllerStatus, _
    timeout As TimeSpan _
)
Visual Basic (Usage)
Dim instance As ServiceController
Dim desiredStatus As ServiceControllerStatus
Dim timeout As TimeSpan

instance.WaitForStatus(desiredStatus, _
    timeout)
C#
public void WaitForStatus(
    ServiceControllerStatus desiredStatus,
    TimeSpan timeout
)
Visual C++
public:
void WaitForStatus(
    ServiceControllerStatus desiredStatus, 
    TimeSpan timeout
)
JScript
public function WaitForStatus(
    desiredStatus : ServiceControllerStatus, 
    timeout : TimeSpan
)

Parameters

desiredStatus
Type: System.ServiceProcess..::.ServiceControllerStatus
The status to wait for.
timeout
Type: System..::.TimeSpan
A TimeSpan object specifying the amount of time to wait for the service to reach the specified status.
Exceptions

ExceptionCondition
InvalidEnumArgumentException

The desiredStatus parameter is not any of the values defined in the ServiceControllerStatus enumeration.

TimeoutException

The value specified for the timeout parameter expires.

Remarks

Use WaitForStatus to suspend an application's processing until the service has reached the required status.

NoteNote:

The WaitForStatus method waits approximately 250 milliseconds between each status check. WaitForStatus cannot detect the case of the observed service changing to the desiredStatus and then immediately to another status in that interval.

.NET Framework Security

Platforms

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
See Also

Reference

Tags :


Community Content

Talespinner
Start/Stop to Runing/Stopped instead of Startpednding or StopPending
Hi,
I have created one simple Windows Application. On Load, it loads all installed services on the local PC using ServiceController.GetServices(). Right clicking brings up a context menu with Start and Stop items. After doing appropriate stuff it shows status on form.

But I was facing one problem. If Service status is "Stopped" and I right click on it and say "Start," the first time it displays "StartPending." After I Refresh it displays "Running." :-(

Using WaitForStatus method fixed it.

Service.Start();
Service.WaitForStatus(ServiceControllerStatus.Start); //This line will wait for the service's current instance to reach to the provided status [Start] and until that it stops further processing, which I want.


So, That's it. If tomorrow you face this problem, this is the only solution I found.

Happy Programming.


Tags : service start

Page view tracker