Жизненный цикл RestClient
Не создавайте экземпляр RestClient для каждого HTTP-вызова.
RestSharp создает внутри себя новый экземпляр HttpClient, и вы
получите множество зависающих соединений и в конечном итоге исчерпаете
пул соединений.
Если вы используете контейнер внедрения зависимостей, зарегистрируйте свой API-клиент
как синглтон.
Не могли бы вы подтвердить правильность приведенного ниже кода (.NET 8)?
Реализация интерфейса IRestClient RestClient зарегистрирована как Singleton (например, AddScoped и AddTransient не разрешены).
Код: Выделить всё
services.AddSingleton(options =>
{
var env = options.GetRequiredService();
var url = env.GetValue(Constants.MY_URL)!;
var restClientOptions = new RestClientOptions(url)
{
UseDefaultCredentials = true
};
return new RestClient(restClientOptions);
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... -singleton
Мобильная версия