ServiceController.WaitForStatus Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Ожидает, пока служба достигнет указанного состояния.
Перегрузки
| Имя | Описание |
|---|---|
| WaitForStatus(ServiceControllerStatus) |
Бесконечно ожидает, пока служба достигнет указанного состояния. |
| WaitForStatus(ServiceControllerStatus, TimeSpan) |
Ожидает, пока служба достигнет указанного состояния или истекает указанное время ожидания. |
WaitForStatus(ServiceControllerStatus)
- Исходный код:
- ServiceController.cs
- Исходный код:
- ServiceController.cs
- Исходный код:
- ServiceController.cs
- Исходный код:
- ServiceController.cs
Бесконечно ожидает, пока служба достигнет указанного состояния.
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)
Параметры
- desiredStatus
- ServiceControllerStatus
Состояние ожидания.
Исключения
Параметр desiredStatus не является ни одной из значений, определенных в ServiceControllerStatus перечислении.
Примеры
В следующем примере класс используется ServiceController для проверки остановки службы оповещений. Если служба остановлена, в примере запускается служба и ожидается, пока состояние службы не будет задано 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
Комментарии
Используется WaitForStatus для приостановки обработки приложения до тех пор, пока служба не достигнет требуемого состояния.
Note
Метод WaitForStatus ожидает приблизительно 250 миллисекунда между каждой проверкой состояния.
WaitForStatus не может обнаружить случай наблюдаемой службы, изменяющейся на desiredStatus нее, а затем немедленно на другое состояние в этом интервале.
См. также раздел
Применяется к
WaitForStatus(ServiceControllerStatus, TimeSpan)
- Исходный код:
- ServiceController.cs
- Исходный код:
- ServiceController.cs
- Исходный код:
- ServiceController.cs
- Исходный код:
- ServiceController.cs
Ожидает, пока служба достигнет указанного состояния или истекает указанное время ожидания.
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)
Параметры
- desiredStatus
- ServiceControllerStatus
Состояние ожидания.
- timeout
- TimeSpan
Объект TimeSpan , указывающий время ожидания, пока служба достигнет указанного состояния.
Исключения
Параметр desiredStatus не является ни одной из значений, определенных в ServiceControllerStatus перечислении.
Значение, указанное timeout для параметра, истекает.
Комментарии
Используется WaitForStatus для приостановки обработки приложения до тех пор, пока служба не достигнет требуемого состояния.
Note
Метод WaitForStatus ожидает приблизительно 250 миллисекунда между каждой проверкой состояния.
WaitForStatus не может обнаружить случай наблюдаемой службы, изменяющейся на desiredStatus нее, а затем немедленно на другое состояние в этом интервале.