이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 20690|회답: 1

[출처] autofac 생성 인스턴스 방법론 요약

[링크 복사]
게시됨 2018. 1. 5. 오후 9:25:48 | | |

1, 인스턴스 의존성

각 의존성 또는 호출마다 새로운 고유 인스턴스를 생성하세요. 이것이 인스턴스를 만드는 기본 방법이기도 합니다.

공식 문서에는 다음과 같이 설명되어 있습니다: 모든 의존 컴포넌트나 Resolve() 호출이 새롭고 고유한 인스턴스(기본값)를 갖도록 구성하세요.



2, 인스턴스퍼라이프타임스코프

라이프사이클 도메인에서는 각 의존성 또는 호출이 단일 공유 인스턴스를 생성하며, 서로 다른 라이프사이클 도메인마다 인스턴스는 고유하고 공유되지 않습니다.

공식 문서에 따르면: 단일 ILifetimeScope 내의 모든 의존 구성 요소나 Resolve() 호출이 동일한 공유 인스턴스를 받도록 구성 설정하세요. 서로 다른 수명 범위의 종속 부품은 서로 다른 인스턴스를 받게 됩니다.



3, InstancePerMatchingLifetimeScope

식별된 라이프사이클 도메인에서는 각 의존성 또는 호출이 단일 공유 인스턴스를 생성합니다. 부모 도메인의 인스턴스는 식별된 라이프사이클 도메인의 자식 아이덴티티 도메인에서 공유할 수 있습니다. 전체 상속 계층에서 식별된 라이프사이클 도메인이 없으면 예외가 투입됩니다: DependencyResolutionException.

공식 문서에는 다음과 같이 설명되어 있습니다: 제공된 태그 값을 가진 ILifetimeScope 내의 모든 의존 구성 요소나 Resolve() 호출이 동일한 공유 인스턴스를 갖도록 구성하세요. 태깅된 스코프의 자식인 라이프타임 스코프 내 종속 컴포넌트는 부모 인스턴스를 공유합니다. 계층 구조에서 적절한 태그가 지정된 범위가 없으면 DependencyResolutionException이 실행됩니다.



4, 인스턴스퍼소유

라이프사이클 도메인에 소유된 인스턴스가 생성한 인스턴스의 라이프사이클에서, Resolve() 메서드의 각 종속 컴포넌트나 호출은 단일 공유 인스턴스를 생성하며, 자식 라이프사이클 도메인은 부모 라이프사이클 도메인의 인스턴스를 공유합니다. 상속 계층에서 자식 인스턴스가 포함된 적절한 라이프사이클 도메인이 없으면, 예외 명령이 던집니다: DependencyResolutionException.

공식 문서에 따르면: 소유된 인스턴스가 생성한 ILifetimeScope 내의 모든 의존 구성 요소나 Resolve() 호출이 동일한 공유 인스턴스를 받도록 구성하세요. 소유된 인스턴스 범위의 자식인 라이프타임 스코프 내 종속 컴포넌트들은 부모 인스턴스를 공유합니다. 계층 구조에서 적절한 소유 인스턴스 범위를 찾을 수 없으면 DependencyResolutionException이 투기됩니다.



5, 싱글 인스턴스

컴포넌트에 의존하거나 Resolve() 메서드를 호출할 때마다 동일한 공유 인스턴스가 발생합니다. 사실, 이것은 단일 모델입니다.

공식 문서에는 다음과 같이 설명되어 있습니다: 모든 의존 컴포넌트나 Resolve() 호출이 동일한 공유 인스턴스를 받도록 구성 설정하세요.



6, InstancePerHttpRequest



Http 요청의 맥락에서, 컴포넌트의 인스턴스를 공유합니다. MVC 개발에만 asp.net 제공됩니다.
공식 문서에는 다음과 같이 설명합니다: 단일 HTTP 요청 내에서 컴포넌트 인스턴스 하나를 공유하세요.
공식 문서 링크: http://autofaccn.readthedocs.io/en/latest/lifetime/instance-scope.html




이전의:asp.net 사이트 디렉토리 가져오기 파일 빈 상태입니다
다음:GeckoFx 파이어폭스 커널 교체, 시스템 팝업 경고 비활성화
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com