주 메뉴 열기

wwiki β

.Net

시작

개요

.NET의 새로운 기능

도구 및 진단

실행모델

배포모델

DevOps

기본 코딩 구성요소

런타임 라이브러리

개요

숫자, 날짜, 기타형식

문자열 작업

정규식

Serialization

파일 및 스트림 I/O

System.Console 클래스

종속성 주입

개요

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

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

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

  • Transient
  • Scoped
  • Singleton
Trasnsient

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

Scoped

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

Singleton

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

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

종속성 주입 사용

종속성 주입 지침

Configuration

로깅

HostBuilder(제네릭 호스트)

데이터 액세스

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

테스트

보안

고급항목

마이그레이션 가이드