![]() |
1
0
最简单的方法是使用命名注册,但不幸的是ASP.NET核心不支持命名注册。因此,如果注册了多个实现,就无法告诉框架在哪些情况下应该选择哪个。 但是有几个第三方DI集成允许使用这种功能,您可以检查它们 here . 如果您不想使用它们中的任何一个,那么最好的选择是使用工厂注册,它可以让您选择应该解决的服务,例如:
如果您愿意,您可以将选择逻辑移动到appsettings,比如一些类型映射。 |
![]() |
SkarabePL · Yii2依赖注入、配置和继承 6 年前 |