Я пытаюсь перезапустить службу времени Windows из моего приложения asp.net, используя следующий код, но оно всегда возвращает исключение TimeoutException. Я пробовал различные способы удалить эту ошибку и перезапустить службу, но, к сожалению, не удается. Код, который я использую для этой цели, показан ниже:
private ServiceController service =
new ServiceController( "W32Time", Environment.MachineName );
private TimeSpan timeout = TimeSpan.FromMilliseconds( 35000 );//15000 was the old value
// Restart W32Time Service
private void RestartService( )
{
try
{
// Stop service if it is running
if( service.Status == ServiceControllerStatus.Running )
{
service.Stop( );
service.WaitForStatus( ServiceControllerStatus.Stopped, timeout );
}
// Start service if it is stopped
if( service.Status == ServiceControllerStatus.Stopped )
{
if (!(service.Status.Equals(ServiceControllerStatus.Stopped) ||
service.Status.Equals(ServiceControllerStatus.StopPending)))
{
service.Stop();
}
service.Start( );
service.WaitForStatus( ServiceControllerStatus.Running, timeout );
}
}
catch( Exception ex )
{
log.Error( "Error in restarting windows service.", ex );
}
}
Я использую Windows 7. Может кто-нибудь предложить мне решение этой проблемы? Любая помощь будет оценена.