public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<MService>();
}
Примечание. Не следует создавать ServiceProvider.Он уже создан кодом.Все, что вам нужно сделать, это добавить свой объект в контейнер.Между прочим, если вы создаете ServiceProvider, метод ConfigureServices, в котором он был создан, должен вернуть его, чтобы другие куски кода могли его использовать.
Неясно, почему вы хотите получить доступ к службе HttpClient вМетод ConfigureServices!Однако вы можете сделать следующее: 1.Ввести IServiceProvider и использовать его следующим образом:
@inject IServiceProvider services
@functions {
WeatherForecast[] forecasts;
protected override async Task OnInitAsync()
{
var client = services.GetRequiredService<HttpClient>();
forecasts = await client.GetJsonAsync<WeatherForecast[]>("/sample-data/weather.json");
}
}
Создание поставщика услуг из служб, доступных в методе ConfigureServices:
public void ConfigureServices (IServiceCollection services) {
IServiceProvider Services = services.BuildServiceProvider();
var client = Services.GetRequiredService<HttpClient>();
}
Надеюсь, это поможет ...