ServiceStack/Funq无法解析System.布尔例外



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

系统类型的必需依赖项。无法解析布尔值。

上次我检查系统。布尔值不需要任何解析。我已经在AppHost配置中注册了我的存储库,如下所示:

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

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

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

要使用另一个特定的构造函数,或者只自动配置特定的属性,您必须手动指定注册:

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

注意:当您遇到这样的IOC问题时,您还应该包含类的骨架。

相关内容

最新更新