방법: Windows 서비스 만들기

메모

이 문서는 .NET의 호스트된 서비스에는 적용되지 않습니다. Windows 서비스 사용 Microsoft.Extensions.Hosting.BackgroundService 및 작업자 서비스 템플릿의 최신 콘텐츠는 다음을 참조하세요.

서비스를 만들 때 Windows 서비스라는 Visual Studio 프로젝트 템플릿을 사용할 수 있습니다. 이 템플릿은 적절한 클래스 및 네임스페이스를 참조하고, 서비스에 대한 기본 클래스에서 상속을 설정하고, 재정의하려는 여러 메서드를 재정의하여 많은 작업을 자동으로 수행합니다.

경고

Visual Studio의 Express 버전에서는 Windows Services 프로젝트 템플릿을 사용할 수 없습니다.

최소한 기능 서비스를 만들려면 다음을 수행해야 합니다.

  • ServiceName 속성을 설정합니다.

  • 서비스 애플리케이션에 필요한 설치 관리자를 만듭니다.

  • 서비스의 동작 방식을 사용자 지정하기 위해 OnStartOnStop 메서드의 코드를 재정의하고 지정하십시오.

Windows 서비스 애플리케이션을 만들려면

  1. Windows 서비스 프로젝트를 만듭니다.

    메모

    템플릿을 사용하지 않고 서비스를 작성하는 방법에 대한 지침은 방법: 프로그래밍 방식으로 서비스 쓰기를 참조하세요.

  2. 속성 창에서 서비스에 대한 속성을 설정합니다ServiceName.

    ServiceName 속성을 설정합니다.

    메모

    속성 값 ServiceName 은 항상 설치 관리자 클래스에 기록된 이름과 일치해야 합니다. 이 속성을 변경하는 경우 설치 관리자 클래스의 ServiceName 속성도 업데이트해야 합니다.

  3. 다음 속성을 설정하여 서비스가 작동하는 방식을 결정합니다.

    재산 설정
    CanStop True 서비스에서 실행 중지 요청을 수락함을 나타내려면 false 서비스가 중지되지 않도록 합니다.
    CanShutdown True 서비스가 작동 중인 컴퓨터가 종료될 때 알림을 수신하고자 한다는 것을 나타내어, OnShutdown 프로시저를 호출할 수 있도록 합니다.
    CanPauseAndContinue True 서비스가 일시 중지 또는 실행을 다시 시작하라는 요청을 수락함을 나타냅니다. false 서비스가 일시 중지되고 다시 시작되지 않도록 합니다.
    CanHandlePowerEvent True 서비스가 컴퓨터의 전원 상태에 대한 변경 알림을 처리할 수 있음을 나타냅니다. false 이러한 변경 내용에 대한 알림을 서비스에 알리지 않도록 합니다.
    AutoLog True 서비스에서 작업을 수행할 때 애플리케이션 이벤트 로그에 정보 항목을 쓰려면 false 이 기능을 사용하지 않도록 설정합니다. 자세한 내용은 방법: 서비스에 대한 로그 정보를 참조하세요. 참고: 기본적으로 AutoLogtrue로 설정되어 있습니다.

    메모

    CanStop 또는 CanPauseAndContinue이(가) false로 설정되면 서비스 제어 관리자는 서비스를 중지, 일시 중지 또는 계속하기 위한 해당 메뉴 옵션을 비활성화합니다.

  4. 코드 편집기에 액세스하고 OnStartOnStop 절차에 원하는 처리를 작성하십시오.

  5. 기능을 정의하려는 다른 메서드를 재정의합니다.

  6. 서비스 애플리케이션에 필요한 설치 프로그램을 추가합니다. 자세한 내용은 방법: 서비스 애플리케이션에 설치 관리자 추가를 참조하세요.

  7. 빌드 메뉴에서 솔루션 빌드 를 선택하여 프로젝트를 빌드 합니다.

    메모

    F5 키를 눌러 프로젝트를 실행하지 마세요. 이러한 방식으로 서비스 프로젝트를 실행할 수 없습니다.

  8. 서비스를 설치합니다. 자세한 내용은 방법: 서비스 설치 및 제거를 참조하세요.

참고하십시오