. Net Базовый AddHttpClient - PullRequest
       35

. Net Базовый AddHttpClient

0 голосов
/ 06 августа 2020

Я настроил в .Net Core 2.2 API для использования AddHttpClient. Однако я хочу использовать клиент на своем уровне обслуживания, который представляет собой библиотеку классов .Net Core 2.2. В моем запуске проекта API у меня есть следующее:

services.AddHttpClient("myHttpClient", c =>
            {
                c.BaseAddress = new Uri(myHttpClient);
            });

Затем я в библиотеке классов пытаюсь получить доступ к IHttpClientFactory, но это не распознается. Это лучший подход, поскольку я не хочу обрабатывать клиентский logi c в контроллере, который я хочу обрабатывать на уровне обслуживания. Если у меня есть настройка службы DI для каждой службы, я должен добавить, что там et c. поскольку я хочу вставить его в конструктор службы, чтобы использовать его.

1 Ответ

0 голосов
/ 06 августа 2020

Вообще говоря, вы бы не работали с фабрикой. Это не ваша ответственность и управляется DI.

Вы можете сделать что-то вроде

services.AddHttpClient<IWillNeedHttpClientInjected, WillNeedHttpClientInjected>(); // and also set base addr as in your code snippet

Ваш класс может добавить httpclient в качестве аргумента ctor.

class WillNeedHttpClientInjected : IWillNeedHttpClientInjected
{
    public WillNeedHttpClientInjected(HttpClient iWasInjected)
    {
        // use as desired
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...