Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 3.5
 WaitForStatus Method (ServiceContro...

  Switch on low bandwidth view
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.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)
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.
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.

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.

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.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Start/Stop to Runing/Stopped instead of Startpednding or StopPending      Kiran Patil   |   Edit   |   Show History
Hi,
I have created one simple Windows Application. on Load of it it loads all installed services on local PC[using ServiceController.GetServices() Method]. And by right click of it one context menu comes up with menu item as Start/Stop. and 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" first time it shown me "StartPending" and after i do Refresh it shown me "Running". :-(..

Then using WaitForStatusMethod i have 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 untill that it stops further processing which i want...


So, That's it..if tomorrow you may face this problem..then this is the only solution i found.

Happy Prograramming.


Flag as ContentBug
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker