Autofac如何用多个名字注册一个服务?
Autofac how to register a service with multiple names?
有没有办法用多个名称注册一个服务?
我知道我可以使用 .Named() 使用名称注册服务,但此方法不接受 Array 仅单个字符串项。
那么如何使用多个名称注册我的服务?
您是否尝试过在同一个注册行中多次使用 Named()?
您可以在注册类型时多次调用 Named
方法:
builder.RegisterType<XService>()
.Named<IService>("a")
.Named<IService>("b")
.Named<IComponent>("a");
这样,当您解析名为 a 或名为 b 的 IService
或 IComponent
名为 a
有没有办法用多个名称注册一个服务? 我知道我可以使用 .Named() 使用名称注册服务,但此方法不接受 Array 仅单个字符串项。 那么如何使用多个名称注册我的服务?
您是否尝试过在同一个注册行中多次使用 Named()?
您可以在注册类型时多次调用 Named
方法:
builder.RegisterType<XService>()
.Named<IService>("a")
.Named<IService>("b")
.Named<IComponent>("a");
这样,当您解析名为 a 或名为 b 的 IService
或 IComponent
名为 a