방법: 서비스에 대한 관리 작업 수행
업데이트: 2007년 11월
서비스에 대해 서비스의 시작과 중지, 일시 중지 및 다시 시작과 같은 다양한 표준 관리 작업을 수행할 수 있습니다. 이러한 작업은 서버 탐색기/데이터베이스 탐색기에서 서비스 관리자 시작 명령을 사용하거나 기존 서비스에 연결된 ServiceController 구성 요소 인스턴스에서 메서드를 호출하여 수행할 수 있습니다.
일반적으로 서비스 제작 시 특정 작업과 관련된 동작을 사용자 지정하는 코드를 작성합니다. 예를 들어, 서비스는 OnPause 명령에 응답하는 코드를 포함할 수 있습니다. 이 경우 서비스가 일시 중지되기 전에 일시 중지 작업에 대한 사용자 지정 처리가 실행됩니다. 서비스의 기능 정의에 대한 자세한 내용은 방법: Windows 서비스 만들기를 참조하십시오.
서비스에 사용 가능한 특정 작업은 해당 속성에 기반합니다. 예를 들어, 서비스의 CanStop 속성을 false로 설정할 수 있습니다. 이렇게 하면 해당 서비스에서 중지 명령을 사용할 수 없게 됩니다. 코드에서 해당 서비스를 중지하려고 하면 "ServiceName을(를) 중지하지 못했습니다."라는 오류가 발생합니다.
참고: |
---|
다음 지침처럼 컴퓨터에서 Visual Studio 사용자 인터페이스 요소 일부에 대한 이름이나 위치를 다르게 표시할 수 있습니다. 이러한 요소는 사용하는 Visual Studio 버전 및 설정에 따라 결정됩니다. 자세한 내용은 Visual Studio 설정을 참조하십시오. |
서버 탐색기/데이터베이스 탐색기에서 관리 작업을 수행하려면
서버 탐색기/데이터베이스 탐색기에 작업을 수행할 서버가 이미 나열되어 있지 않은 경우에는 이를 추가합니다. 자세한 내용은 방법: 서버 탐색기/데이터베이스 탐색기 액세스 및 초기화를 참조하십시오.
서비스 콘솔을 열고 개별 서비스 옵션에 액세스하려면 서비스 노드를 마우스 오른쪽 단추로 클릭하고 서비스 관리자 시작을 클릭합니다.
관리 작업을 프로그래밍 방식으로 수행하려면
ServiceController 클래스의 인스턴스를 만들고 인스턴스가 관리할 서비스와 상호 작용하도록 구성합니다. 자세한 내용은 방법: ServiceController 구성 요소 인스턴스 만들기를 참조하십시오.
서비스를 시작, 중지, 일시 중지 또는 계속하는 메서드를 적절히 호출합니다.
팁: 이러한 명령에 대한 해당 속성을 쿼리하여 서비스가 요청에 응답하는지 확인할 수 있습니다. 즉 해당 서비스의 CanStop 속성을 쿼리하는 조건문을 작성하여 Stop 메서드를 호출하기 전에 이 속성이 true로 설정되어 있는지 확인할 수 있습니다.
다음 예제에서는 명령을 실행하기 전에 서비스에서 해당 명령을 받아들일 수 있는지 확인하는 방법을 보여 줍니다.
If myController.CanStop Then myController.Stop() End If
if (myController.CanStop) { myController.Stop(); }
참고 항목
작업
방법: ServiceController 구성 요소 인스턴스 만들기