.NET Core-注册服务,如何注册服务的单独版本

时间:2018-12-14 09:48:38

标签: dependency-injection .net-core

我有一个接口IService和两个实现ServiceAServiceB

在大多数情况下,我想使用实现A,但是我还有另一个服务需要实现B。有没有办法做到这一点?它应该看起来像这样:

services.AddScoped<IService, ServiceA>();

services.AddScoped<ISomethingElse, SomethingElse>();
services.WhenResolving<ISomethingElse>.AddScoped<IService, ServiceB>();

1 个答案:

答案 0 :(得分:1)

我将提及执行此操作的两个版本。

首先,假设您具有配置参数,然后根据您的配置参数确定接口将解析哪个服务

然后

x-www-form-urlencoded

另一个选项是

x-www-form-urlencoded