Введение IHttpClientFactory в structuremap

#c# #httpclient #structuremap #structuremap3

Вопрос:

Мы используем более старую версию Structuremap (3.1.9.463). Прошло некоторое время с тех пор, как я использовал structuremap и HttpClients вместе, и я не знаю, как правильно внедрить IHttpClientFactory в structuremap.

Простое использование bootStrapper.Forlt;IHttpClientFactorygt;().Uselt;HttpClientgt;(); не сработает

Примером использования является

 public class DialogClient : IDialogClient {  private readonly HttpClient _client;   public DialogClient(IHttpClientFactory httpClientFactory)  {  _client = httpClientFactory.CreateClient();  _client.BaseAddress = new Uri(ConfigurationManager.AppSettings["Dialog:url"]);  } }  

В проекте также используется .NET Framework, а не ядро.

Ответ №1:

реализуйте интерфейс

 class MyHttpClientFactory: IHttpClientFactory {  public HttpClient CreateClient(string name)  {  // logic for creating client here  } }  

а затем зарегистрируйте его

Forlt;IHttpClientFactorygt;().Singleton().Uselt;MyHttpClientFactorygt;();