주 메뉴 열기

wwiki β

.Net

시작편집

개요편집

.NET의 새로운 기능편집

도구 및 진단편집

실행모델편집

배포모델편집

DevOps편집

기본 코딩 구성요소편집

런타임 라이브러리편집

개요편집

숫자, 날짜, 기타형식편집

문자열 작업편집

정규식편집

Serialization편집

파일 및 스트림 I/O편집

System.Console 클래스편집

종속성 주입편집

개요편집

종속성 주입은 다음을 통해 종속성 문제를 해결한다.

  • 인터페이스 또는 기본 클래스를 사용하여 종속성 구현을 추상화한다.
  • 서비스 컨테이너에 종속성 등록한다. .NET은 서비스 컨테이너인 IServiceProvider를 기본 제공한다. 서비스는 일반적으로 앱 시작시 등록되고 IServiceCollection에 추가된다. 모든 서비스가 추가되면 BuildServiceProvider를 사용하여 서비스 컨테이너를 만든다.
  • 서비스가 사용되는 클래스의 생성자에 주입된다. 프레임워크가 종속성의 인스턴스를 만들고 더 이상 필요하지 않으면 삭제하는 작업을 담당한다.
확장 메서드를 사용하여 서비스 그룹등록편집
프레임워크에서 제공하는 서비스편집
서비스 수명편집

다음 수명 중 하나를 사용하여 서비스를 등록할 수 있다.

  • Transient
  • Scoped
  • Singleton
Trasnsient편집

서비스 컨테이너에서 요청할 때마다 만들어집니다. 이 수명은 간단한 상태 비저장 서비스에 가장 적합합니다.

Scoped편집

웹 애플리케이션의 경우 범위가 지정된 수명은 클라이언트 요청(연결)마다 한 번씩 서비스가 생성됨을 나타냅니다.

Singleton편집

개발자가 인터페이스를 구현하고 컨테이너에게 제공할 수 있으나 거의 대부분은 처음 요청하는 경우 생성되는 패턴이다.

서비스 등록 메서드편집
범위 유효성 검사편집
범위 시나리오편집
참고항목편집

종속성 주입 사용편집

종속성 주입 지침편집

Configuration편집

로깅편집

HostBuilder(제네릭 호스트)편집

데이터 액세스편집

병렬 처리, 동시성 및 비동기편집

테스트편집

보안편집

고급항목편집

마이그레이션 가이드편집