2017-12-05 14 views
0

C# 4.61로 작성된 Windows 서비스가 있습니다. 패치되지 않은 Windows 2008R2, Windows 2012R2 또는 Windows 2016 서버에서는 설치 후 첫 번째 재부팅시 자동으로 시작되지 않습니다.첫 번째 재부팅시 C# 서비스가 시작되지 않음

나는 심지어 자동으로 설정이 (지연된 시작)과 여전히 오류가 있습니다 : 다음의 재부 팅에

Entry 1 

A timeout was reached (30000 milliseconds) while waiting for (servicename) service to connect. 

Entry 2 

The (servicename) service failed to start due to the following error: The service did not respond to the start or control request in a timely fashion. 

이없는 문제로 시작에.

올바른 문제는 시스템을 패치하는 것이지만 어떤 핫픽스/업데이트가이 문제를 수정하는지 식별 할 수 있기를 바랍니다.

내가 한 모든 검색에서 대부분의 사람들은이 문제를 해결하기 위해 글로벌 서비스 시간 초과를 연장 할 것을 제안합니다. 그리고 그것은 누군가의 생산 시스템에서 글로벌 설정을 변경하는 것이 허용되지 않습니다.

수동으로 시작하는 데 몇 초 밖에 걸리지 않으므로 문제는 내 서비스가 시작되는 데 걸리는 시간이 아니라는 것을 알고 있습니다.

+0

중요한 것은입니다 : 시작할 때 더 적은을한다. 대부분의 일들을 별도의 스레드에 맡기십시오. 시작 루프에서 수행해야 할 유일한 작업이 config를 검사하여 시작할 수 있어야하는지 확인하십시오. –

+0

전체 서비스 프로세스를 스레드로 시작한 경우에도 거의 즉시 시작할 수 있습니다. 그러나 나는 같은 문제에 부딪쳤다. –

답변

0

이 작업을 시도해야합니다 : 여기 좋을 것

System.Threading.Tasks.Task.Run(() => 
{ 
    this.YourFunction(); 
}); 

private void YourFunction() 
{ 
    // Your code 
} 
+0

이것은 처음에 시도한 솔루션 중 하나였습니다. –

+0

Program.cs 코드 란 무엇입니까? –