Во-первых, конструктор вашего библиотечного класса должен принять параметр HttpClient
, чтобы вы могли вставить в него HttpClient
. Затем, самый простой способ (упомянутый в статье-ссылке и того, что он стоит) - просто добавить конкретный HttpClient
для этого библиотечного класса:
services.AddHttpClient<MyLibraryClass>(...);
Затем, конечно, зарегистрируйте свой библиотечный класс для инъекций, если вы этого еще не сделали:
services.AddScoped<MyLibraryClass>();
Затем, когда создается экземпляр вашего библиотечного класса для чего-то, он тоже будет введен с HttpClient
, указанным для него.
В качестве альтернативы, вы можете вручную указать экземпляр HttpClient
для внедрения через:
services.AddScoped(p => {
var httpClientFactory = p.GetRequiredService<IHttpClientFactory>();
return new MyLibraryClass(httpClientFactory.Create("Foo"));
});