В настоящее время я использую ключевое слово ()
Служба зарегистрирована как сервис Scoped в Di Container < /p>
builder.Services.AddScoped();
[/code]
Обычно при работе с httpclient я использую конфигурацию напечатанных клиентов, чтобы убедиться, что ресурсы выпускаются в конце. Но в курсе о Blazor Hybrid было сказано, что предлагаемый способ состоит в том, чтобы использовать ключевое слово () (я не знаю почему).
, это в настоящее время работает без каких -либо проблем. Используйте Httpclient неправильно, и почему использование New () в этом контексте не приводит к этим вопросам? Клиентский способ, но httpclient никогда не создается правильно, может кто -то может решить проблему здесь. Mauiprogram.cs :
Код: Выделить всё
builder.Services.AddHttpClient((serviceProvider, client) =>
{
client.DefaultRequestHeaders.Add("Accept", "application/json");
client.DefaultRequestHeaders.Add("x-test-header", "user Service factory");
client.BaseAddress = new Uri("https://localhost:7263/");
});
builder.Services.AddTransient();
< /code>
public class UserServiceHttpTestTyped : IUserService
{
private readonly ILogger _logger;
private readonly HttpClient _client;
public UserServiceHttpTestTyped(ILogger l, HttpClient c)
{
_logger = l;
_client = c ?? throw new ArgumentNullException(nameof(UserServiceHttpTestTyped));
}
[Authorize(Policy = CustomPolicy.CanRead_Users)]
public async Task GetUser(Guid id)
{
_logger.LogDebug("Get the user with if '{id}'", id);
var u = Api.Url(Api.GetUserById, id.ToString());
return await _client.GetFromJsonAsync(u);
}
}
< /code>
And the client in the moment of use:

Подробнее здесь: https://stackoverflow.com/questions/793 ... httpclient