Код: Выделить всё
public interface IWeatherForecast
{
Task Get();
}
class WeatherForecast : IWeatherForecast
{
private readonly HttpClient httpClient;
public WeatherForecast (IHttpClientFactory httpClientFactory)
{
httpClient = httpClientFactory.CreateClient();
}
public async Task Get()
{
var resp = await httpClient.GetAsync("https://testwebapiforuseinsamples.azurewebsites.net/weatherforecast");
return JsonConvert.SerializeObject(resp.Content.ReadAsStringAsync());
}
}
Код: Выделить всё
static async Task Main(string[] args)
{
var container = new ServiceCollection();
container.AddHttpClient();
var serviceProvider = container.BuildServiceProvider();
var resp = await serviceProvider.GetRequiredService().Get();
}
System.InvalidOperationException: 'Не удалось найти подходящий конструктор для типа 'HttpClientFactoryExample.WeatherForecast'. Убедитесь, что тип конкретен...
Может кто-нибудь указать, что не так с этим кодом. Я ожидал, что после добавления сервиса WeatherForecast в DI я смогу получить его инициализированный экземпляр из контейнера.
Подробнее здесь: https://stackoverflow.com/questions/703 ... be-located
Мобильная версия