У меня есть два типизированных HttpClients , которым вводится класс конфигурации:
public class MyConfig
{
prop string Prop { get; set; }
}
public class MyConfig2
{
prop string Prop { get; set; }
}
public class HttpClientService
{
public HttpClientCoreService(HttpClient client, IOptions<MyConfig> config)
{
}
}
public class HttpClientService2
{
public HttpClientCoreService2(HttpClient client, IOptions<MyConfig2> config)
{
}
}
Как вы можете видеть, классы в основном идентичны, только конфигурация нет.
services.Configure<MyConfig>(x =>
{
x.Prop = "x";
}
services.Configure<MyConfig2(x =>
{
x.Prop = "y";
}
services.AddHttpClient<HttpClientService>();
services.AddHttpClient<HttpClientService2>();
Я хотел бы иметь только одну конфигурацию и одну службу, но поэтому мне нужно, чтобы произошло какое-то DI magi c (если возможно). Мне как-то нужно сообщить DI, какая версия MyConfig должна быть введена для указанного c экземпляра HttpClientService (это должно быть возможно, если я использую именованные HttpClients).
Возможно ли это?