성이 그 객체에 대한 참조를 유지한다면, 어디에서 접근 할 수 있습니까? 컨테이너 내부에 해당 참조 목록이 있습니까? 성 내가 그에게 접근 할 수있는 객체에 대한 참조를 유지하는 경우캐슬 윈저는 라이프 스타일 과도기로 해결 된 물체를 참고로 유지합니까?
나는 성 윈저 3.3.0
성이 그 객체에 대한 참조를 유지한다면, 어디에서 접근 할 수 있습니까? 컨테이너 내부에 해당 참조 목록이 있습니까? 성 내가 그에게 접근 할 수있는 객체에 대한 참조를 유지하는 경우캐슬 윈저는 라이프 스타일 과도기로 해결 된 물체를 참고로 유지합니까?
나는 성 윈저 3.3.0
을 사용하고 있습니다?
개체의 수명을 관리하기위한 참조가 있습니다. 이 참조가 필요하지 않으므로 캡슐화 된 코드로 작성된 참조를 관리하면 안됩니다 (이는 객체 지향 프로그래밍 캡슐화 및 추상화 원칙에 관한 것입니다).
Castle Windsor가 참조 및 가비지 컬렉터에서 메모리를 비우도록하려면 일시적이더라도 수동으로 해결 된 구성 요소를 릴리스해야합니다.
확인 다음 문은 때때로 윈저 과도 구성 요소를 추적 할 수 있다는 것을 잊지 official documentation:
어떤 사람들은 과거에 어떤 다른 컨테이너를 사용하는 사람들 특히,에서 촬영. 인스턴스를 해석하고 놓지 마십시오. 적절한 수명주기 관리를 위해 Windsor는 이러한 구성 요소를 추적 할 수 있습니다. 즉, 가비지 수집기를 해제하지 않으면 가비지 수집기가 을 회수 할 수 없으므로 사실상 메모리 누수가 발생합니다. 따라서 유용한 경험 법을 기억하십시오. 을 명시 적으로 해결해야합니다.
문서가 다음으로 이동되었습니다. https://github.com/castleproject/Windsor/blob/master/docs/lifestyles.md – BennyBechDk
@BennyBechDk Fixed, thanks;) –
달성하고자하는 것에 대한 자세한 내용을 제공해야합니다. 나는 컨테이너가 코드 내에서 액세스되어서는 안되기 때문에 아무도 DI를 적절하게 사용할 때 컨테이너 내부로부터의 참조에 액세스 할 필요가 없다고 생각합니다. 컨테이너에 액세스 할 수있는 유일한 위치는 Composition Root 자체입니다. 그 외의 경우에만 컨테이너가 제공하는 종속성을 사용하십시오. –