2009-09-24 6 views
1

구조체 맵을 사용하여 의존성 주입을 위해 NHibernate를 설정하여 MVC 사이트를 얻으려고합니다. 즉 (또는 무엇 나는 경우가 예정), 인터페이스 IDatabaseScope 세션을 반환하는 방법 OpenSession에있다에서구조체가 System.Type을 찾고 있습니다.

 ForRequestedType<NHibernate.ISession>().CacheBy(StructureMap.Attributes.InstanceScope.HttpContext) 
      .TheDefault.Is.ConstructedBy(
      context => context.GetInstance<IDatabaseScope>().OpenSession()); 

그 HttpRequest를 위해 사용되는이 내 StructureMap 레지스트리에서 선이다.

내가 받고있는 것은 StructureMap 예외 코드 202입니다. PluginFamily System.Type에 대해 정의 된 기본 인스턴스가 없습니다.

이제 "기본 인스턴스 없음"예외를 이해했으며 그 중 몇 가지를 살펴 보았습니다. 하지만 System.Type 용 Default Instance를 찾는 이유는 무엇입니까? (즉, ISession, IDatabaseScope 또는 체인의 다른 인스턴스를 찾는 데 실패하지 않고 System.Type의 인스턴스를 만들려고합니다). 왜?

답변

3

IDatabaseScope의 구체적인 구현에는 생성자 종속성이 있습니까? 이 유형의 질문은 structuremap users mailing list에 더 적합 할 것입니다. 이는 구현에 매우 중요하기 때문입니다.

관련 문제