使用IComponentContext注册新组件

时间:2015-11-05 17:22:10

标签: c# c#-4.0 autofac

给定一个现有的对象实例如何使用IComponentContext注册一个新的Type?

我可以使用这样的构建器来实现它:

var userSession = new UserSession();

builder.Register(x => userSession).As<UserSession>().InstancePerRequest();

但是如何使用IComponentContext

来做到这一点
var registration = RegistrationBuilder.ForType<UserSession>().AsSelf().InstancePerRequest().CreateRegistration();

ComponentContext.ComponentRegistry.Register(registration);

由于

1 个答案:

答案 0 :(得分:0)

试试这个:

var registration = RegistrationBuilder
                       .ForDelegate<UserSession>((c, p) => userSession)
                       .ExternallyOwned()
                       .AsSelf()
                       .InstancePerRequest()
                       .CreateRegistration();
componentContext.ComponentRegistry.Register(registration);
相关问题