-
.net core에서 IServiceScopeFactory를 써야할 때프로그래밍 2025. 2. 7. 22:34
IoC Container에 등록된 서비스의 라이프 사이클이 다를 때 사용한다.
AService라는 클래스가 등록될 때 Singleton이고
BService라는 클래스가 등록될 때 Scope라면
AService는 BService를 참조할 수 없다.
즉, Singleton인 클래스는 하위 lifecycle에 해당하는 클래스 참조가 불가능하다.
따라서 참조 우선 순위는 Transiant <- Scope <- Singleton 순서이다.
대표적으로 WorkerService 작성시 Service를 Scope, Transiant 로 등록할 경우 Worker에서 주입 받을 때 IServiceScopeFactory를 사용해서 주입받게 된다.
생각해보면 Singleton이 Instance가 메모리에 유일 존재일 때 (즉, 프로그램이 종료하기 전까지 해제 할 수 없는 상태일 때) Scope, Transiant 는 해제 가능한 상태를 전제로 한다는 의미이다.
'프로그래밍' 카테고리의 다른 글
AWS S3 PresignedUrl Download (0) 2025.01.14 Ant Design Blazor 소개 (0) 2025.01.07 MudBlazor 소개 (0) 2025.01.07 WPFUI 소개 (0) 2025.01.07 PDF를 구현해 보면서 느낀점. (1) 2025.01.07