2009-09-30 2 views
2

Topshelf을 사용하여 작성된 Windows 서비스가 있습니다. LocalSystem을 사용하는 대신 제한된 권한을 가진 Windows 계정을 사용하여 실행되도록 구성하려고합니다. 그것은 통합 인증을 사용하여 데이터베이스에 연결하려는 경우에도 필요합니다.디버깅 제한된 계정으로 실행되지 않는 최상위 서비스

서비스는 LocalSystem (자격 증명이 포함 된 데이터베이스 연결 문자열 임에도 불구하고)으로 실행되고 제한된 계정 (runas 사용)으로 콘솔 응용 프로그램을 실행해도 작동합니다. 그러나

, 나는 서비스 제어 관리자 시간이 (가) 응답을 기다리는 서비스를 시작하려고하면

이 서비스가 시작이나 제어 요청에시기 적절하게 응답하지 않았습니다합니다.

나는 또한 응용 프로그램 팝업 이벤트 로그에 다음과 같은 얻을 :

응용 프로그램 오류 : 예외 알 수없는 소프트웨어 예외 (0xc06d007e)이 위치 0x77e4bef7에있는 응용 프로그램에서 발생했습니다.

응용 프로그램이 수행하는 첫 번째 작업은 로그 파일에 쓰지만 서비스를 시작할 때 도달하지 못합니다. 콘솔을 통해 실행하면 로깅이 작동합니다.

내가 누락되었거나 내가 다음에 시도 할 수있는 제안이 있으십니까?

+0

이 문제도 제가 봤습니다. 반복적으로 서비스를 시작 하려다가 한 번 실패한 후 작동했습니다. 이것은 타이밍 문제라고 믿게 만듭니다. 비록 그것을 해결하는 방법에 대한 생각이 없습니다 - 미안 해요! –

답변

2

이 문제는 TopShelf가 아닌 서버 (도메인 컨트롤러)와 관련이있는 것으로 보입니다. .NET 서비스 구성 요소로 빌드 된 서비스도 동일한 동작을 나타냅니다.

서비스가 다른 컴퓨터 (동일한 도메인에 있음)에서 성공적으로 실행됩니다.

불행히도이 문제를 진단하는 데는 도움이되지 않지만 허용 가능한 해결 방법을 제공합니다.

0

.net 2.0으로 작성된 서비스 중 일부에서이 문제가 발생하기 시작했습니다. 서버가 부팅 될 때 시작될 것입니다.하지만 하루 종일 다시 시작하면 시작할 수 없으며이 오류 메시지가 표시됩니다.

그들은 현재 상자에 대한 관리자 권한이있는 도메인 계정으로 실행되었지만 걷어차 기 위해 로컬 시스템으로 전환했는데 서비스가 정상적으로 시작되었습니다. 암호를 다시 입력하고 도메인 계정 (암호를 다시 입력 한)으로 다시 변경했으며 예상대로 정상적으로 다시 시작되었습니다.

이것이 '수정'으로 간주되는지는 모르겠지만 그게 효과적입니다.

관련 문제