문제

두 클래스 A와 B는 (생성자 주입 된 생성자)에 의존합니다. B는베이스 컨테이너의 LINNINSTANCE로 등록되어 있으며 빌드됩니다. A는 Tenantid에서 다양한 링 티닉스로 멀티 테넌트 컨테이너에 등록되어 있습니다.

질문 1 :

Resolve<B>()
.

B는 또한 BYANTID에 따라 다르 죠?

질문 2 : 동일하지만 A는 멀티 테넌트 컨테이너 내에서 수명 범위로 등록되고 B는 에 의존합니다.

Func<Owned<A>>.
.

업데이트 : 폐쇄!

이것은 "내가 정말로 원한다 뭐라 구요였습니다 ..."의 초보자가 의미론에 대한 이해가 부족하기 때문에; 특히, 존재하지 않는 세입자 수명 범위 내에서 모든 해상도에서 에 의해 구축 된 인스턴스가 필요했습니다. 몇 가지 지침을 얻었으며 문제 # 318에 패치를 제출 한 것으로, 그것은 752의 트렁크로 끌려 갔고, 우리는가는 것이 좋다! 이제 위의 질문은 다음을 읽을 것입니다 :

두 클래스 A와 B는 (생성자 주입 된 생성자)에 의존합니다. B는베이스 컨테이너에 instancePertenant 으로 등록되어 있으며, 빌드됩니다. A는 instancePertenant 으로 멀티 텐텐 티 컨테이너에 등록되어 있습니다.

와 두 가지 질문에 대한 답변이 "예"입니다.

Travis와 Nick에 대한 도움을 받고이 위대한 도구를 유지하십시오.

도움이 되었습니까?

해결책

예제를 올바르게 이해하면 대답은 두 가지 카운트에서 "아니오"입니다.

autofac은 짧은 인스턴스에 대한 참조를 얻는 장기간의 인스턴스에 대해 보호합니다.

여기와 거기에서 디자인을 다시 생각하는 것을 의미 할 수도 있지만, 내 경험에서 이것은 더 예측 가능한 행동을 만듭니다.

이 도움이되기를 바랍니다!

nick

(BTW, 특정 시나리오에 입력이 필요하면 설명 된 구체적인 구성 요소로 다른 질문을 만드는 것이 좋습니다.)

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