문제

내 컨트롤러는 이제 인터페이스를 구현하고 Unity Framework를 사용하여 저장소 구현을 주입합니다. 내 질문은,이 주사 된 구현 단일 레턴입니까? 그것은 내 모든 사용자가 저장소를 치는 (컨트롤러에서)를 동일한 인스턴스를 사용한다는 것을 의미합니까?

도움이 되었습니까?

해결책 3

에서 가져 왔습니다 MSDN Unity Docs...

구축하는 객체의 수명은 메소드 매개 변수에 지정한 수명에 해당합니다. 수명에 대한 값을 지정하지 않으면 유형이 일시적 수명에 등록되어 있으므로 각 호출마다 새 인스턴스가 생성됩니다.

컨테이너에 싱글 톤 매핑을 등록하도록 지시하기 위해 registerType 메소드에 매개 변수에 contapenterControlledLifetImemanager 클래스의 인스턴스를 포함시킵니다.

따라서 기본적으로 주입은 싱글 톤으로 지정하지 않는 한 일시적입니다.

다른 팁

저장소 인스턴스와 함께 ORM 세션을 소지하는지 여부에 따라 다릅니다. 저장소가 당신이 신경 쓰지 말아야 할 것보다 정적 방법이 많고 싱글 톤으로 만들 수 있습니다. 그렇지 않으면 하나의 웹 요청 내에서만 상태를 보존하려면 다른 요청 스레드가 방해하지 않도록합니다.

다른 IOC 프레임 워크와 달리 Unity. 웹 요청 평생 관리자 당 싱글 톤과 함께 제공되지는 않지만 쉽게 구현할 수 있습니다. 예를 들어 여기를 참조하십시오.Unity의 통화 컨텍스트 (웹 요청) 당 싱글 톤

아니요, 웹 애플리케이션에서 특별한 저장소 싱글 톤을 만들지 마십시오.

컨트롤러 팩토리는 저장소를 생성하고 (유니티를 사용) 컨트롤러에 주입합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top