我需要将注册添加到其实现在我的IdentityServer3
工厂引用的程序集内部的接口。
我能想到的唯一机制就是暴露另一个DI容器(也使用Autofac
),它使用模块注册,其中一个存在并定义了这个引用的程序集中的注册。然后,我可以执行以下操作:
factory.Register(new Registration<IUsersService>(resolver =>
{
using (ILifetimeScope scope = Global.GlobalContainerProvider.ApplicationContainer.BeginLifetimeScope())
{
return scope.Resolve<IUsersService>();
}
}
是否有一种优雅的方式实际使用Autofac
中的内部IdentityServer3
容器?