".Net"의 두 판 사이의 차이
(새 문서: {{DISPLAYTITLE:.NET}} == 시작 == == 개요 == == .NET의 새로운 기능 == == 도구 및 진단 == == 실행모델 == == 배포모델 == == DevOps == == 기본 코딩 구...) |
|||
41번째 줄: | 41번째 줄: | ||
* 서비스 컨테이너에 종속성 등록한다. .NET은 서비스 컨테이너인 IServiceProvider를 기본 제공한다. 서비스는 일반적으로 앱 시작시 등록되고 IServiceCollection에 추가된다. 모든 서비스가 추가되면 BuildServiceProvider를 사용하여 서비스 컨테이너를 만든다. | * 서비스 컨테이너에 종속성 등록한다. .NET은 서비스 컨테이너인 IServiceProvider를 기본 제공한다. 서비스는 일반적으로 앱 시작시 등록되고 IServiceCollection에 추가된다. 모든 서비스가 추가되면 BuildServiceProvider를 사용하여 서비스 컨테이너를 만든다. | ||
* 서비스가 사용되는 클래스의 생성자에 주입된다. 프레임워크가 종속성의 인스턴스를 만들고 더 이상 필요하지 않으면 삭제하는 작업을 담당한다. | * 서비스가 사용되는 클래스의 생성자에 주입된다. 프레임워크가 종속성의 인스턴스를 만들고 더 이상 필요하지 않으면 삭제하는 작업을 담당한다. | ||
+ | |||
+ | ===== 확장 메서드를 사용하여 서비스 그룹등록 ===== | ||
+ | |||
+ | ===== 프레임워크에서 제공하는 서비스 ===== | ||
+ | |||
+ | ===== 서비스 수명 ===== | ||
+ | 다음 수명 중 하나를 사용하여 서비스를 등록할 수 있다. | ||
+ | |||
+ | * Transient | ||
+ | * Scoped | ||
+ | * Singleton | ||
+ | |||
+ | ====== Trasnsient ====== | ||
+ | 서비스 컨테이너에서 요청할 때마다 만들어집니다. 이 수명은 간단한 상태 비저장 서비스에 가장 적합합니다. | ||
+ | |||
+ | ====== Scoped ====== | ||
+ | 웹 애플리케이션의 경우 범위가 지정된 수명은 클라이언트 요청(연결)마다 한 번씩 서비스가 생성됨을 나타냅니다. | ||
+ | |||
+ | ====== Singleton ====== | ||
+ | 개발자가 인터페이스를 구현하고 컨테이너에게 제공할 수 있으나 거의 대부분은 처음 요청하는 경우 생성되는 패턴이다. | ||
+ | |||
+ | ===== 서비스 등록 메서드 ===== | ||
+ | |||
+ | ===== 범위 유효성 검사 ===== | ||
+ | |||
+ | ===== 범위 시나리오 ===== | ||
+ | |||
+ | ===== 참고항목 ===== | ||
==== 종속성 주입 사용 ==== | ==== 종속성 주입 사용 ==== |
2021년 7월 5일 (월) 12:36 판
목차
시작
개요
.NET의 새로운 기능
도구 및 진단
실행모델
배포모델
DevOps
기본 코딩 구성요소
런타임 라이브러리
개요
숫자, 날짜, 기타형식
문자열 작업
정규식
Serialization
파일 및 스트림 I/O
System.Console 클래스
종속성 주입
개요
종속성 주입은 다음을 통해 종속성 문제를 해결한다.
- 인터페이스 또는 기본 클래스를 사용하여 종속성 구현을 추상화한다.
- 서비스 컨테이너에 종속성 등록한다. .NET은 서비스 컨테이너인 IServiceProvider를 기본 제공한다. 서비스는 일반적으로 앱 시작시 등록되고 IServiceCollection에 추가된다. 모든 서비스가 추가되면 BuildServiceProvider를 사용하여 서비스 컨테이너를 만든다.
- 서비스가 사용되는 클래스의 생성자에 주입된다. 프레임워크가 종속성의 인스턴스를 만들고 더 이상 필요하지 않으면 삭제하는 작업을 담당한다.
확장 메서드를 사용하여 서비스 그룹등록
프레임워크에서 제공하는 서비스
서비스 수명
다음 수명 중 하나를 사용하여 서비스를 등록할 수 있다.
- Transient
- Scoped
- Singleton
Trasnsient
서비스 컨테이너에서 요청할 때마다 만들어집니다. 이 수명은 간단한 상태 비저장 서비스에 가장 적합합니다.
Scoped
웹 애플리케이션의 경우 범위가 지정된 수명은 클라이언트 요청(연결)마다 한 번씩 서비스가 생성됨을 나타냅니다.
Singleton
개발자가 인터페이스를 구현하고 컨테이너에게 제공할 수 있으나 거의 대부분은 처음 요청하는 경우 생성되는 패턴이다.