2009-08-17 4 views

답변

7

서비스는 명령 줄에서 시작 안된다. 먼저 등록 (installutil/i service_path) 한 다음 net start 또는 sc start로 시작하십시오.

또는 서비스 프로젝트의 기본 진입 점을 만들고 논리를 시작하여 명령 줄에서 서비스를 테스트 할 수 있습니다. 그러나 이것은 실제 서비스 환경이 아닙니다.

+0

+1 프로젝트에 대한 기본 진입 점을 갖는 것에 대한 의견은 +1입니다. Ivan은 서비스가 다른 자격 증명으로 실행될 때 서비스가 다르게 동작 할 수 있다고 말합니다. –

+0

필자가 작성한 모든 서비스는 콘솔 모드 응용 프로그램으로 실행되는 명령 줄 매개 변수를 지원합니다. 내가 사용/실행하지만 당신이 무엇을 사용하든, 나는 완전히 이런 종류의 패턴을 추천한다. 그것은 좌절스러운 디버깅 시간을 절약 해줍니다. – Mark

3

시작하거나 호출하여 서비스를 중지 할 수 있습니다 :

net start "Service Name" 
net stop "Service Name" 

자세한 내용은 this technet article를 참조하십시오. 이 일을해야

, 다음 제공된 해당 :

  • 명령 프롬프트/사용자가 서비스를 시작 할 수있는 적절한 권한이 있습니다. 이것은 모든 솔루션에 필요합니다.
  • 서비스가 시스템에 올바르게 설치 및 등록되었습니다. 내 의혹은 이것이 범인이 될 수 있다는 것입니다. 서비스가 서비스 목록에 있습니까?
+0

OP가 이미 이것을 시도했으며 (초기 개정판에 있음). –

+0

내 대답을 편집하여 자세한 내용을 제공합니다. –

3

Windows 서비스에 설치 프로그램을 추가했는지 확인하십시오. InstallUtil.exe 유틸리티가 작동하려면이 작업을 수행해야합니다. 그 방법을 볼 수 있습니다 here.

InstallUtil.exe를 사용하여 서비스를 설치하고 제거 할 수 있습니다.

  • 설치 :
    InstallUtil.exe <YourServiceExecutable>
  • 제거 :InstallUtil.exe /u <YourServiceExecutable>

리드의 솔루션을 사용, 시작하고 서비스를 중지하려면.

멋진 서비스를 원할 경우 서비스에서 명령 줄 논리를 추가하면 서비스에서 직접 (설치 및 시작/중지 및 제거)이 모든 작업을 수행 할 수 있습니다. 즉 더 이상 InstallUtil.exe를 사용할 필요가 없습니다. 해당 솔루션은 here입니다.

관련 문제