2010-11-26 7 views
0

우선, Microsoft Unity에 대한 완벽한 참조가 있습니까?ASP.NET과 Unity

"UnityConfigurationSection"에서 "구성"을 호출하면 모든 구성 매핑이 구성되고 준비됩니다.

클래스가 Unity 내부에 등록 된 개체에 대한 종속성이 있으면 어떨까요? 이 클래스 자체가 유니티에 등록되어야 유니티가 의존성을 주입 할 수 있습니까?

Unity가 Object에 등록되지 않은 경우, Unity가 Object에 종속성을 주입하지 않을 까봐 두렵습니다. ASP.NET에서 "Page"클래스의 경우입니다. 미리 등록되지 않은 클래스에서 작업 할 때

감사

답변

0

유니티는 몇 가지 잘 정의 된 기본 동작이 있습니다.

등록이 없을 경우, 컨테이너는 가장 긴 생성자를 찾고, 삽입 할 속성을 결정하기 위해 유형 ([종속성]이 주 속성 임)의 속성을 찾습니다.

속성을 사용하지 않거나 기본값이 원하는 것과 일치하지 않으면 컨테이너가 원하는 것을 수행하도록 구성해야합니다.

+0

안녕하세요, Chris, 답장을 보내 주셔서 감사합니다. 비록 클래스가 유니티에 등록되어 있지 않더라도 그것이 의존성을 가지고 있음에도 불구하고 유니티로 클래스를 해결하면 잘 동작한다는 것을 알았습니다. ASP.NET Web Forms의 경우 페이지 클래스가 ASP.NET 런타임에 의해 만들어지기 때문에 일관성이 없기 때문에 웹 페이지 내부의 종속성을 자체적으로 확인할 수 없습니다. 트릭은 "BuildUp"메소드를 호출하는 것입니다. 이 메소드는 클래스가 생성 된 후 (Unity에 의해 생성되지 않은) 모든 Unity 삽입 의존성에 사용됩니다. 감사합니다 – Bill

+0

@bhaidar, PageUp 클래스의 BuildUp 호출 대신, httpmodule을 구현하고 등록하는 것을 고려할 수 있습니다. 세부 정보 : http://msdn.microsoft.com/en-us/library/ff664534(PandP.50).aspx – onof

+0

감사합니다. Onof. 이전에 해당 웹 사이트를 확인 했으므로 이제 나에게 의미가 있습니다. – Bill