IHostedService를 상속받은 서비스를 다른 HostedService 에서 종속성 주입을 통해 가져오려고합니다.
아래와 같이 코드를 작성하면 SecondService 에서 FirstService 를 종속성주입을 통해 가져오려고 하면 예외가 발생합니다.
.ConfigureServices((hostContext, services) => {
services.AddHostedService<FirstService>();
services.AddHostedService<SecondService>();
}
구글링을 통해 찾은 방법을 사용하면 아래처럼 살짝? 복잡한 방법을 사용해야하는데 AddHostedService 를 통해 등록한 서비스도 싱글턴으로 생성되지만 왜 종속성 주입으로는 가져올 수 없는지 궁금합니다.
.ConfigureServices((hostContext, services) => {
services.AddSingleton<FirstService>();
services.AddHostedService(p => p.GetRequiredService<FirstService>());
}