2012-03-02 1 views
1

나는 UnityContainer을 사용하고 있습니다.unityContainer에서 런타임 매개 변수를 필요로하는 ctor로 유형 등록

AuthServiceTokenManager에 등록하고 싶습니다.

AuthService에는 개인 회원으로 TokenManager가 있습니다. TokenManager(string name, string pass)

내가 런타임에 UI에서 이러한 문자열을 얻을 :

TokenManager 하나 개의 ctor있다.

Unity는 구성 파일에 ctor 매개 변수를 등록해야합니다. AuthService(TokenManager mgr)

그러나 나는 설정 파일에 <unity> 노드 (비 기본) 개체를 추가 할 방법 :

나는의 ctor를 만들

  • 를 생각?

    • 런타임 매개 변수와 함께 Unity를 TokenManager ctor로 계속 사용할 수 있습니까?

답변

0

내 생각 :

AuthService 두 ctor에있을 것이다 - 테스트 장치에서 매개 변수가 및 AuthService(bool initFromContainer)

I (false)를 새로운 AuthService를 호출하고 사용 TokenManager

우선합니다을 AuthService_Accessor

0

TokenManager에 대한 공장을 정의하고 공장을 AuthService에 주입하십시오. 팩토리가 사용자 이름 및 암호 매개 변수를 승인하도록합니다.

incorporate runtime parameters이 필요할 때 언제든지 공장에 투입하는 것이 좋습니다. 그러나 그 패턴으로 도취하지 마십시오. 그렇지 않으면 factory overload에 부딪 힐 수 있습니다.

관련 문제