ServiceStack / Funq无法解析System.Boolean异常

时间:2012-12-31 14:28:01

标签: c# servicestack funq

我使用内置的Funq IoC容器设置ServiceStack api来解析我的存储库。但是,当我调用api方法时,我得到以下异常:

  

无法解析System.Boolean类型的必需依赖项。

上次我检查System.Boolean时不需要任何解析。我在AppHost配置中注册了我的存储库,如下所示:

container.RegisterAutoWiredAs<OrganisationRepository, IOrganisationRepository>().ReusedWithin(ReuseScope.Request);

这是我第一次使用ServiceStack或Funq。我做错了吗?有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

如果您使用container.RegisterAutoWiredAs<T,IT>(),则Funq将按惯例自动连接存储库,即使用最大构造函数并解析并注入存储库的每个公共属性依赖项。

要使用备用特定构造函数,或仅使用自动装配特定属性,您必须手动指定注册:

container.Register<IOrganisationRepository>(c => 
    new OrganisationRepository(c.Resolve<IFoo>()) { Bar = c.Resolve<IBar>() } ); 

注意:每当你遇到像这样的IOC问题时,你也应该包括你班级的骨架。