이 부분을 ASP.NET에 내장된 의존성 주입 컨테이너(Dependency Injection Container)[25]에 등록하면 모든 문제가 해결됩니다. 이를 처리하는 방법이 예제 4-17입니다.
NullRepository는 상태를 저장하지 않기 때문에, 싱글턴(Singleton) 수명[25]으로 단일 객체를 등록할 수 있습니다. 즉, 웹 서비스의 프로세스가 유지되는 동안 모든 스레드에서 같은 객체를 공유할 수 있습니다.
예제 4-17 ASP.NET에서 NullRepository를 내장 의존성 주입 컨테이너로 등록합니다.
(Restaurant/bc1079a/Restaurant.RestApi/Startup.cs)
public static void ConfigureServices(IServiceCollection services
{
services.AddControllers();
services.AddSingleton<IReservationsRepository>(
new NullRepository());
}
이제 모든 테스트를 통과합니다. 깃에서 변경 사항을 커밋하고 배포 파이프라인을 통해 푸시합시다.