KeyedService in .NET 8
原文英文,约600词,阅读约需3分钟。发表于: 。.NET 8 中的 KeyedServiceIntro.NET 8 在 Preview 7 中引入了 KeyedService 支持,以后我们可以方便支持按 name 来获取 service 了,有些情况下就不用自己创建一个 factory 了。SampleGetStarted来看使用一个基本的使用示例:varserviceCollection=newServiceCollection()...
.NET 8在Preview 7中引入了KeyedService支持,可以方便按名称获取服务。示例展示了基本使用和使用KeyedService.AnyKey捕获未注册的服务的情况。KeyedService还有一些特殊情况,如允许为null的serviceKey,但实际上为null时不是keyed service。构造函数中可以使用ServiceKeyAttribute获取注册的serviceKey。对于scoped service的支持有问题。可以结合Options实现基于options的named service。总体来说,KeyedService解决了一些named service的问题,但还有一些bug。