Configuration 正在查找实例系统的StructureMap。键入
我正在尝试使用StructureMap为依赖注入设置一个带有NHibernate的MVC站点。这是我的StructureMap注册表中的一行:Configuration 正在查找实例系统的StructureMap。键入,configuration,registry,structuremap,Configuration,Registry,Structuremap,我正在尝试使用StructureMap为依赖注入设置一个带有NHibernate的MVC站点。这是我的StructureMap注册表中的一行: ForRequestedType<NHibernate.ISession>().CacheBy(StructureMap.Attributes.InstanceScope.HttpContext) .TheDefault.Is.ConstructedBy( context =&g
ForRequestedType<NHibernate.ISession>().CacheBy(StructureMap.Attributes.InstanceScope.HttpContext)
.TheDefault.Is.ConstructedBy(
context => context.GetInstance<IDatabaseScope>().OpenSession());
ForRequestedType().CacheBy(StructureMap.Attributes.InstanceScope.HttpContext)
.TheDefault.Is.ConstructedBy(
context=>context.GetInstance().OpenSession());
换句话说(或者我打算是这样),接口IDatabaseScope有一个方法OpenSession,该方法将返回一个用于该HttpRequest的会话
我得到的是StructureMap异常代码202,没有为PluginFamily System.Type定义默认实例
现在我理解了“无默认实例”异常,并且我已经处理了其中几个异常。但为什么它要为System.Type寻找默认实例呢?(也就是说,它并没有找不到ISession、IDatabaseScope或链中的任何其他实例。它正在尝试创建System.Type的实例)。为什么?IDatabaseScope的具体实现是否有任何构造函数依赖关系? 这种类型的问题可能更适合于,因为它可能非常特定于您的实现