다음 코드를 사용하여 asp.net 응용 프로그램에서 Windows 시간 서비스를 다시 시작하려고하지만 항상 TimeoutException을 반환합니다. 이 오류를 제거하고 서비스를 다시 시작하는 여러 가지 방법을 시도했지만 불행히도 실패합니다. 나는이 목적을 위해 사용하고 코드는 다음과 같습니다 :ASP.NET 응용 프로그램에서 Windows 서비스를 다시 시작할 수 없습니다.
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);
}
}
나는 누군가가 나에게이 문제에 대한 솔루션을 제안 할 수 윈도우 7을 사용하고 있습니다? 어떤 도움을 주시면 감사하겠습니다.
응용 프로그램이 실행되는 계정에 서비스에 대한 액세스 권한이 있습니까? – Davidann