카테고리 없음
dotnet core 서비스 객체 등록방법별 상세 차이
daniel_lab
2023. 7. 22. 22:41
.net core의 DI Container에서 본인이 사용할 객체를 등록하는 메소드가 존재하는데, 이때 객체의 생명주기별로 다른 메소드를 사용해 등록해야 한다.
아래의 3종류가 존재한다.
1. Transient: 매번 요청이 있을때마다 새로운 인스턴스가 생성된다 -> 해당 객체가 요청될때마다 매번 새로운 객체가 생성되어 반환된다.
2. Scoped: 하나의 HTTP 요청 범위 내에서 하나의 인스턴스만 생성하여 사용하는 정책. 보통 AddDbContext를 통해 EfCore의 DbContext 객체를 등록하게 되는데 이때 해당 DbContext가 Scoped 객체로 등록된다.
3. Singleton: 애플리케이션이 시작하고 종료될 때 까지 단 하나의 인스턴스만 생성하여 사용