将同时作为托管服务的IEnumerable<Interface>注入为单例生存期,可以通过以下步骤实现:
services.AddSingleton<Interface1, Class1>();
services.AddSingleton<Interface2, Class2>();
services.AddSingleton<Interface3, Class3>();
// 注册其他实现类...
public class MyService
{
private readonly IEnumerable<Interface> _interfaces;
public MyService(IEnumerable<Interface> interfaces)
{
_interfaces = interfaces;
}
// 使用_interfaces进行操作...
}
services.AddSingleton<MyService>();
这样,当需要使用MyService时,依赖注入容器将自动解析并注入IEnumerable<Interface>的所有实现类作为参数,使得MyService可以访问这些实现类的实例。
注:以上答案中没有提及具体的腾讯云产品和产品介绍链接地址,因为题目要求不提及云计算品牌商。如需了解腾讯云相关产品和服务,请参考腾讯云官方文档或咨询腾讯云官方渠道。
TechDay
云+社区沙龙online第5期[架构演进]
TVP技术闭门会
云+社区技术沙龙[第8期]
serverless days
2022OpenCloudOS社区开放日
DBTalk技术分享会
云+社区技术沙龙[第11期]
Elastic 中国开发者大会
领取专属 10元无门槛券
手把手带您无忧上云