Autofac 解析 MatchingLifetimeScope 集合
Autofac Resolving MatchingLifetimeScope Collection
我想从命名范围解析所有服务的 IEnumerable,但这不起作用,因为服务也从其他命名范围解析。
例子
var containerBuilder = new ContainerBuilder();
containerBuilder.RegisterType<B>().As<IMyInterface>().InstancePerMatchingLifetimeScope("B");
containerBuilder.RegisterType<A>().As<IMyInterface>().InstancePerMatchingLifetimeScope("A");
IContainer container= containerBuilder.Build();
ILifetimeScope lifetimeScope = container.BeginLifetimeScope("A");
lifetimeScope.Resolve<IEnumerable<IMyInterface>>();
抛出DependencyResolutionException: Unable to resolve the type 'ConsoleApp2.B' because the lifetime scope it belongs in can't be located.
有没有办法只解析当前范围内的服务?
我正在使用 Autofac 6.0.0
看来您遇到了错误。 There's a similar issue already open 为此;我会将您的具体案例的重现添加到问题中,并将其更新为标记为错误而不是增强。
目前我不知道有任何解决方法可以解决这个问题。对不起。
我想从命名范围解析所有服务的 IEnumerable,但这不起作用,因为服务也从其他命名范围解析。
例子
var containerBuilder = new ContainerBuilder();
containerBuilder.RegisterType<B>().As<IMyInterface>().InstancePerMatchingLifetimeScope("B");
containerBuilder.RegisterType<A>().As<IMyInterface>().InstancePerMatchingLifetimeScope("A");
IContainer container= containerBuilder.Build();
ILifetimeScope lifetimeScope = container.BeginLifetimeScope("A");
lifetimeScope.Resolve<IEnumerable<IMyInterface>>();
抛出DependencyResolutionException: Unable to resolve the type 'ConsoleApp2.B' because the lifetime scope it belongs in can't be located.
有没有办法只解析当前范围内的服务?
我正在使用 Autofac 6.0.0
看来您遇到了错误。 There's a similar issue already open 为此;我会将您的具体案例的重现添加到问题中,并将其更新为标记为错误而不是增强。
目前我不知道有任何解决方法可以解决这个问题。对不起。