2009-11-09 7 views
1

컨테이너에 관리되지 않는 객체를 덮어 쓴 일부 wrapers를 등록하려고합니다. 컨테이너의 수명이 끝나면 어떻게 처리 할 수 ​​있습니까? XML 웹 서비스가 있음을 명심하십시오.Unity 컨테이너 처리 및 XML 웹 서비스

+0

사용자 정의 평생 매니저를 작성해야합니까? 나는 주문형 일회용 용기 연장으로 노력하고 있지만 처분되지는 않는다. – DaeMoohn

답변

0

대부분의 DI 컨테이너에는 생성 된 객체를 처리 할 수있는 기능이 있습니다. 일반적으로, Resolve 메소드에는, 작성된 객체 그래프를 파기 할 수있는 대응하는 메소드가 있습니다.

Unity에서는이 방법을 Teardown이라고합니다.

웹 요청이 완료되면 개체 그래프를 Teardown 메서드에 전달하여 IDisposable 개체를 처리해야합니다.

+0

가능한 한 컨테이너를 생존 상태로 유지하고 관리되지 않는 오브젝트를 래핑하는 일회용 오브젝트를 폐기해야합니다. 제 동료 중 한 명은 처분 할 때 컨테이너가 모든 일회용 등록 개체를 처분하려고한다고 말했습니다. 그게 사실이야? – DaeMoohn

+0

나는 Teardown 방법이 구현되지 않았으며 Teardown 프로세스를 처리하기위한 확장 기능의 책임이 있다고 언급 한 게시물을 읽었습니다. – DaeMoohn

+1

Teardown 메서드가 구현 된 것처럼 Unity 소스 코드를 통해 간단한 모양으로 보입니다. IDisposable 개체의 수명에 따라 적절한 경우 모든 IDisposable 개체를 삭제합니다. 내장 수명을 사용하지 않으려면 커스텀 수명 관리자를 작성해야 할 수도 있습니다. –