#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;();