반응형
먼저 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";
}
}
반응형
'개발이야기 > AspNet&C#' 카테고리의 다른 글
Clean Architecture with ASP.NET Core 8 review (0) | 2024.03.17 |
---|---|
IdentityServer 학습 #10 - BFF without backend (0) | 2024.03.11 |
IdentityServer 학습 #9 - BFF with backend (0) | 2024.03.11 |
IdentityServer 학습 #8 - EntityframeworkCore (0) | 2024.03.07 |
IdentityServer 학습 #7 - API access (0) | 2024.03.07 |