구조체 맵을 사용하여 의존성 주입을 위해 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의 인스턴스를 만들려고합니다). 왜?