我已经使用内置的Funq IoC容器建立了一个IoC api来解析我的存储库。但是,当我调用一个api方法时,我会得到以下异常:
无法解决System.Boolean类型所需的依赖关系。
上次我检查System.Boolean时不需要任何解析。我在AppHost配置中注册了存储库,如下所示:
container.RegisterAutoWiredAs<OrganisationRepository, IOrganisationRepository>().ReusedWithin(ReuseScope.Request);这是我第一次使用ServiceStack或Funq。我做错什么了吗?有办法绕道吗?
发布于 2013-01-02 05:33:54
如果您使用container.RegisterAutoWiredAs<T,IT>(),那么Funq将按照约定自动连接存储库,即使用最大的构造函数,并解析并注入存储库的每个公共属性依赖项。
若要使用备用特定构造函数,或仅使用autowire特定属性,则必须手动指定注册:
container.Register<IOrganisationRepository>(c =>
new OrganisationRepository(c.Resolve<IFoo>()) { Bar = c.Resolve<IBar>() } ); 注意:每当你有这样的国际奥委会问题时,你也应该包括你的类的骨架。
https://stackoverflow.com/questions/14102752
复制相似问题