使用IComponentContext注册新组件

本文关键字:组件 新组件 IComponentContext 注册 使用 | 更新日期: 2023-09-27 18:20:47

给定一个现有对象实例,如何使用IComponentContext注册新类型?

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

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

但是如何使用IComponentContext

var registration = RegistrationBuilder.ForType<UserSession>().AsSelf().InstancePerRequest().CreateRegistration();
ComponentContext.ComponentRegistry.Register(registration);

感谢

使用IComponentContext注册新组件

试试这个:

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