[C#] Window Service Application - ysp-laonpeople/DOC GitHub Wiki
TopShelf 설치
- console application을 생성합니다.
- NugetPackge 관리 창을 열고 TopShelf를 검색해서 설치합니다.

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로 실행합니다.

서비스 등록 및 해지
- 관리자 권한으로 cmd.exe를 실행합니다. (powershell도 가능합니다.)
- 실행파일위치로 이동합니다.
- 'ServiceApplication.exe install'을 입력해서 서비스로 등록합니다.

- 서비스 등록을 확인하고 서비스를 시작합니다.

- 'ServiceApplication.exe uninstall'을 입력해서 서비스 등록을 해지합니다..
