StructureMap查找实例System.Type

时间:2009-09-24 03:03:27

标签: configuration registry structuremap

我正在尝试使用StructureMap为NHibernate设置一个用于依赖注入的MVC站点。这是我的StructureMap注册表中的一行:

        ForRequestedType<NHibernate.ISession>().CacheBy(StructureMap.Attributes.InstanceScope.HttpContext)
            .TheDefault.Is.ConstructedBy(
            context => context.GetInstance<IDatabaseScope>().OpenSession());
换言之(或者我打算成为这种情况),接口IDatabaseScope有一个方法OpenSession,它将返回一个用于该HttpRequest的Session。

我得到的是一个StructureMap异常代码202,没有为PluginFamily System.Type定义的默认实例。

现在我理解“无默认实例”例外,我已经完成了其中几个例外。但是为什么要为System.Type寻找默认实例? (即,查找ISession,IDatabaseScope或链中的任何其他实例并没有失败。它正在尝试创建System.Type的实例)。为什么呢?

1 个答案:

答案 0 :(得分:3)

您对IDatabaseScope的具体实现是否具有任何构造函数依赖性? 这种问题可能更适合structuremap users mailing list,因为它可能非常适合您的实施。

相关问题