방법: 프로그래밍 방식으로 서비스 작성

참고 항목

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

Windows 서비스 프로젝트 템플릿을 사용하지 않으려는 경우 상속 및 기타 인프라 요소를 직접 설정하여 고유한 서비스를 작성할 수 있습니다. 서비스를 프로그래밍 방식으로 만드는 경우 템플릿을 사용할 경우 자동으로 처리되는 다음과 같은 여러 단계를 직접 수행해야 합니다.

  • ServiceBase 클래스에서 상속하도록 서비스 클래스를 설정해야 합니다.

  • 서비스 프로젝트에 대한 Main 메서드를 만들어야 합니다. 이 메서드는 실행할 서비스를 정의하고 해당 서비스에 대해 Run 메서드를 호출합니다.

  • OnStartOnStop 프로시저를 재정의하고 이들 프로시저에서 실행할 코드를 입력해야 합니다.

서비스를 프로그래밍 방식으로 작성하려면

  1. 빈 프로젝트를 만들고 다음 단계에 따라 필요한 네임스페이스에 대한 참조를 만듭니다.

    1. 솔루션 탐색기에서 참조 노드를 마우스 오른쪽 단추로 클릭하고 참조 추가를 클릭합니다.

    2. .NET Framework 탭에서 System.dll로 스크롤하고 선택을 클릭합니다.

    3. System.ServiceProcess.dll로 스크롤하고 선택을 클릭합니다.

    4. 확인을 클릭합니다.

  2. 클래스를 추가하고 ServiceBase에서 상속하도록 클래스를 구성합니다.

    public class UserService1 : ServiceBase
    {
    }
    
    Public Class UserService1
        Inherits System.ServiceProcess.ServiceBase
    End Class
    
  3. 다음 코드를 추가하여 서비스 클래스를 구성합니다.

    public UserService1()
    {
        ServiceName = "MyService2";
        CanStop = true;
        CanPauseAndContinue = true;
        AutoLog = true;
    }
    
    Public Sub New()
        Me.ServiceName = "MyService2"
        Me.CanStop = True
        Me.CanPauseAndContinue = True
        Me.AutoLog = True
    End Sub
    
  4. 클래스에 대한 Main 메서드를 만들고 이 메서드를 사용하여 클래스에 포함할 서비스를 정의합니다. 여기서 userService1은 클래스 이름입니다.

    public static void Main()
    {
        ServiceBase.Run(new UserService1());
    }
    
    Shared Sub Main()
        System.ServiceProcess.ServiceBase.Run(New UserService1)
    End Sub
    
  5. OnStart 메서드를 재정의하고 서비스가 시작될 때 수행할 처리를 정의합니다.

    protected override void OnStart(string[] args)
    {
        // Insert code here to define processing.
    }
    
    Protected Overrides Sub OnStart(ByVal args() As String)
        ' Insert code here to define processing.
    End Sub
    
  6. 사용자 지정 처리를 정의할 다른 메서드를 재정의하고 각 경우에 서비스가 수행할 작업을 결정하는 코드를 작성합니다.

  7. 서비스 애플리케이션에 필요한 설치 관리자를 추가합니다. 자세한 내용은 How to: Add Installers to Your Service Application(방법: 서비스 애플리케이션에 설치 관리자 추가)을 참조하세요.

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

    참고 항목

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

  9. 설치 프로젝트와 서비스를 설치하는 사용자 지정 작업을 만듭니다. 예제는 Walkthrough: Creating a Windows Service Application in the Component Designer(연습: 구성 요소 디자이너에서 Windows 서비스 애플리케이션 만들기)를 참조하세요.

  10. 서비스를 설치합니다. 자세한 내용은 How to: Install and Uninstall Services을 참조하세요.

참고 항목