기존 서비스와 상호 작용 소개

업데이트: 2007년 11월

ServiceController 구성 요소를 사용하여 기존 서비스의 동작을 연결하고 제어할 수 있습니다. ServiceController 구성 요소의 인스턴스를 만들 때 인스턴스가 특정 Windows 서비스와 상호 작용하도록 설정합니다. 그러면 구성 요소 인스턴스를 사용하여 서비스를 시작, 중지 및 관리할 수 있습니다. 예를 들어, ServiceController 구성 요소를 만든 후 이 구성 요소를 Timer 구성 요소와 함께 사용하여 시간 간격을 기반으로 서비스를 시작 및 중지할 수 있습니다.

ServiceController 구성 요소를 사용하여 여러 가지 유용한 작업을 할 수 있습니다. 예를 들면 다음과 같습니다.

  • 연결되어 있는 서비스를 시작, 중지 또는 일시 중지하거나 해당 서비스가 응답할 수 있는 기타 관리 동작을 수행할 수 있습니다. 자세한 내용은 방법: 서비스에 대한 관리 작업 수행을 참조하십시오.

  • 구성 요소와 상호 작용하는 서비스의 다양한 속성을 쿼리하고 속성 값을 검색할 수 있습니다. 예를 들어, CanStopCanPauseAndContinue 속성 값을 검색하여 서비스의 중지, 일시 중지 및 계속 여부를 결정할 수 있습니다.

  • 특정 컴퓨터에 있는 서비스 목록을 반환할 수 있습니다.

  • 사용자 지정 명령을 지정하여 서비스를 호출할 수 있습니다. 사용자 지정 명령에 대한 자세한 내용은 MSDN Online을 참조하십시오.

ServiceController 구성 요소는 실제로 동작에 대한 요청을 서비스 자체가 아닌 서비스 제어 관리자로 전달합니다. 그러면 서비스 제어 관리자는 서비스를 중지, 시작 또는 일시 중지하거나 지정된 다른 작업을 수행합니다. ServiceController는 서비스 제어 관리자로 요청을 전달한 후 서비스 제어 관리자가 서비스에 요청을 전달할 때까지 대기하지 않고 반환합니다. 따라서 ServiceController 클래스가 아니라 서비스 클래스 내에서 예외를 처리해야 합니다.

참고:

일반적으로 ServiceController 구성 요소로 동일한 프로젝트에 포함된 서비스를 관리하려면 이 구성 요소를 Windows 서비스 응용 프로그램에 추가하지 마십시오. 서비스를 만든 프로젝트에 있는 코드로는 해당 서비스를 제어할 수 없습니다. 이 서비스는 다른 컨텍스트에서 제어해야 합니다.

참고 항목

작업

방법: ServiceController 구성 요소 인스턴스 만들기

방법: 서비스에 대한 관리 작업 수행

방법: 서비스 목록 검색

서비스 관리자 샘플