17. 다시 Startup.cs 파일의 ConfigureServices 메서드 하단에 IInfoService 인터페이스에 대한 의존성을 해결하는 코드를 다음과 같이 코드를 등록한다. 참고로 AddSingleton(), AddScoped(), AddTransient() 모두 사용 가능하다.
▼ Startup.cs
services.AddSingleton<InfoService>(); services.AddSingleton<IInfoService, InfoService>();
18. 최종적으로 /SingletonDemo/ConstructorInjectionDemo 경로를 요청하면 다음과 같이 IInforService 인터페이스를 상속 받아 구현한 InforService 클래스의 메서드가 SingletonDemo 컨트롤러에 인터페이스 생성자 주입 형태로 주입되어 실행된다.
▲ 그림 30-5 웹 브라우저 실행 결과