2016-07-20 1 views
1

나는 dependency lifetime의 개념에 대해 아주 새롭다. different lifetime types에 대한 설명서를 읽었습니다.생성자 주입을 사용하는 InstancePerDependency의 수명 Autofac

InstancePerDependency의 경우 기본값입니다. 이 페이지는 컨테이너가 적절히 처분 할 수 있도록 수명 분석에서 해결하는 것에 대해 이야기합니다. 나는 이것을 이해할 수있다.

하지만 Autofac이 자동으로 생성자를 통해 종속성을 주입하면 어떨까요? 웹 요청이 완료되면 컨테이너가 여전히 참조를 보유하고 있습니까?

답변

3

This documentation이 도움이됩니다.

자동 채우기 라이브러리를 사용하면 표준 작업 단위 평생 범위가 자동으로 만들어지고 삭제됩니다. 예를 들어 Autofac의 ASP.NET MVC 통합에서 웹 요청 시작 부분에 평생 범위 이 생성되고 모든 구성 요소가 일반적으로 여기에서 해결됩니다. 웹 요청이 끝나면 범위가 자동으로 삭제됩니다. 추가로 범위 생성이 필요하지 않습니다. 통합 라이브러리 중 하나를 사용하는 경우 자동 생성 범위가 무엇인지 알고 있어야합니다. 즉

, Autofac이 (가 종속성을 주입 않다면이 있어야합니다) 웹 요청을 처리하기 위해 컨트롤러를 만드는 경우, 종속성 각 컨트롤러에 대해 생성 된 범위를 사용하여 해결과 배치 될 때 웹 요청의 끝을 .

+0

예. 처분 될 참조를 보유한다는 개념은 컨테이너에서 직접 해결하면 안되는 이유입니다. –

+0

이 경우 IntancePerDependency는 실제로 InstancePerRequest와 동일합니까? – Jonathon

+0

그것이 내가 그것을 이해 한 방법입니다. –