반응형
먼저 Cmd에서 다음 명령어로 프로젝트를 생성합니다.
dotnet new worker --name <Project.Name>
그런 다음 WIndowsServices 라이브러리를 설치해 줍니다.
dotnet add package Microsoft.Extensions.Hosting.WindowsServices
이제 프로젝트 기본으로 주어지는 Worker.cs 파일을 WindowsBackgroundService.cs 파일로 교체합니다.
namespace App.WindowsService;
public sealed class WindowsBackgroundService(
WorkService workService,
ILogger<WindowsBackgroundService> logger) : BackgroundService
{
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
try
{
while (!stoppingToken.IsCancellationRequested)
{
string test = workService.GetWork();
logger.LogWarning("{test}", test);
await Task.Delay(TimeSpan.FromMinutes(1), stoppingToken);
}
}
catch (Exception ex)
{
logger.LogError(ex, "{Message}", ex.Message);
Environment.Exit(1);
}
}
}
이제 실제로 작업을 수행할 WorkService.cs 파일을 만들어 줍니다.
namespace App.WindowsService;
public sealed class WorkService
{
public string GetWork()
{
return "hello world";
}
}
반응형
'개발이야기' 카테고리의 다른 글
| Next.js 프로젝트 기본 셋팅 (0) | 2024.05.08 |
|---|---|
| Clean Architecture with ASP.NET Core 8 review (0) | 2024.03.17 |
| 아차! Branch를 깜빡했네! 방금전 Commit을 새 Branch로 옮기기 (0) | 2024.03.14 |
| Next.js에서 IdentityServer 연결 with oidc-client (0) | 2024.03.13 |
| Next.js 최초 설치 (0) | 2024.03.12 |