[C#] Window Service Application - ysp-laonpeople/DOC GitHub Wiki

TopShelf 설치

  • console application을 생성합니다.
  • NugetPackge 관리 창을 열고 TopShelf를 검색해서 설치합니다.
  • image

MainService.cs 구현

  • MainService 클래스를 생성합니다.
  • 서비스 시작과 종료 함수를 구현합니다.
    public class MainService
    {
        public void Start()
        {

        }
        public void Stop()
        {

        }
    }

Program.cs 구현

  • HostFactory에 MainService를 생성합니다.

using Topshelf;

namespace ServiceApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            var host = HostFactory.New(x =>
            {
                x.Service<MainService>(s =>
                {
                    s.ConstructUsing(name => new MainService());
                    s.WhenStarted(tc => tc.Start());
                    s.WhenStopped(tc => tc.Stop());
                });

                x.RunAsLocalSystem();
            });

            host.Run();
        }
    }
}

실행

  • Console로 실행합니다.
  • image

서비스 등록 및 해지

  • 관리자 권한으로 cmd.exe를 실행합니다. (powershell도 가능합니다.)
  • 실행파일위치로 이동합니다.
  • 'ServiceApplication.exe install'을 입력해서 서비스로 등록합니다.
  • image
  • 서비스 등록을 확인하고 서비스를 시작합니다.
  • image
  • 'ServiceApplication.exe uninstall'을 입력해서 서비스 등록을 해지합니다..
  • image