2011-08-23 8 views
0

Windows 서비스를 유지 관리하고 있습니다. 매우 불행한 버그가 있습니다. 서비스가 단순히 시작하기를 거부하기 때문에 더 이상 코드를 디버깅 할 수 없습니다. 내 Windows 서비스를 인스턴스화 할 수 없습니다.

Windows could not start the MyService service on Local Computer.

Error 1053: The service did not respond to the start or control request in a timely fashion.

내가 main 메소드에 일부 로그 - 투 - 파일 라인을 삽입하고 결코 내 Windows 서비스의 인스턴스 과거 온다 :이 오류입니다. 줄 바로 앞에서 중지합니다.

ServiceBase.Run(ServicesToRun); 

따라서 Run 메서드는 실행되지 않습니다. 나는 실패한 MyService의 인스턴스 생성을 추측하고있다. 하지만 어떻게 가능할까요?

static void Main() 
{ 
     //this line is reached 

     ServiceBase[] ServicesToRun; 
     ServicesToRun = new ServiceBase[] 
     { 
      new MyService() //halts here 
     }; 

     //this line is never executed 
     ServiceBase.Run(ServicesToRun); 
} 
+0

MyService 생성자에 코드를 게시 할 수 있습니까? – w69rdy

+0

생성자는'MyService'에 대해 어떻게 생겼을까요? –

+1

이벤트 뷰어에 더 많은 정보가 있습니까? 또한 서비스를 실행중인 계정에 충분한 권한이 부여되어 있는지 확인하십시오. –

답변

0

재 게시 회신 :

네, 이벤트 뷰어에서 정보를 얻었다. 기본적으로 잘못된 구성 파일이 있기 때문에 처리되지 않은 예외였습니다. Windows 서비스는 인스턴스화시 XML 파일을 구문 분석해야하지만 ">"기호가 누락되어 유효한 XML 파일조차되지 않았다는 것을 의미합니다. 따라서 교훈은 Windows 서비스의 생성자에서 오류 처리를 잘 수행해야합니다. 도와 주셔서 감사합니다.

0

나는이 오류를 언젠가 만났습니다. 나는 그것이 당신을 위해 그것을 해결할 지 모르지만, 여기 어떻게 고칠 것인가 :

설치 한 후 마우스 오른쪽 버튼을 클릭하고 속성으로 이동하십시오. 로그온 탭으로 이동하여 "서비스가 데스크톱과 상호 작용하도록 허용"이 활성화되어 있는지 확인하십시오. 왜 Windows 7이 이것을 필요로하는지 확신 할 수 없습니다. 위에서

관련 문제