草庐IT

c# - Funq 支持 ResolveAll 吗?

FunqIoC容器是否支持解析一个类型的所有注册?类似于以下任何一个:IEnumerablefoos=container.Resolve>();IEnumerablefoos=container.ResolveAll(); 最佳答案 Funq没有ResolveAll方法,但你可以简单地注册一个IEnumerable并用Resolve>()解决它正如您在问题中所展示的那样。但一般来说,最好不要请求容器进行收集,而是使用composites。反而。这样你就可以简单地注入(inject)一个IFoo作为依赖项,而不是强制该依赖项的消费者迭

c# - 如何在 ServiceStack.net 中使用 Funq 注册多个 IDbConnectionFactory 实例

您将如何在Funq中注册不同的IDbConnectionFactory实例,然后直接在您的服务中访问它们?命名实例是否以某种方式在这里发挥作用?这是跨服务使用不同数据库时采用的最佳方法吗?谢谢!编辑:一个例子;)。我可能离这里很远,因为我对IoC还很陌生,但是举例来说,我有2个独立的数据库连接要注入(inject)。在ServiceStack中,这是在Global.asax中完成的。container.Register(c=>newOrmLiteConnectionFactory(@"ConnectionString1",SqlServerOrmLiteDialectProvider.