Все больше библиотек .NET Core привязано к IServiceCollection
.Например, я хочу использовать HttpClientFactory
, описанный здесь в моей NET Framework 4.7.1.настольное приложение.Мое приложение использует Unity IoC.Я упоминал Microsoft.Extensions.Http
как NuGet.
Но есть проблема: новые компоненты ASP.Net Core связаны с платформой Microsoft DI для .NetCore - IServiceCollection
.Например, регистрация HttpClientFactory
здесь:
public void ConfigureServices(IServiceCollection services)
{
services.AddHttpClient();
}
Я углубился в MS code и хотел вручную зарегистрировать соответствующие интерфейсы и классы в Unity.Вот как службы регистрируются IServiceCollection:
services.TryAddTransient<HttpMessageHandlerBuilder, DefaultHttpMessageHandlerBuilder>();
services.TryAddSingleton<IHttpClientFactory, DefaultHttpClientFactory>();
Это не будет проблемой, чтобы переместить это в Unity IoC, но я застрял, когда я хочу зарегистрировать DefaultHttpMessageHandlerBuilder
и DefaultHttpClientFactory
, которые имеют внутренняя видимость.Поэтому они не доступны для регистрации за пределами кода MS.
Есть ли у меня какой-либо шанс, как разрешить эту ситуацию?