Правильный способ сделать httpclient, который может быть введен и используется на сервере BlazorC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Правильный способ сделать httpclient, который может быть введен и используется на сервере Blazor

Сообщение Anonymous »

В настоящее время у меня есть эта конфигурация для клиента HTTP, которую я могу использовать и вводить при необходимости, обернутая с помощью аутентификации JWT, чтобы достичь некоторого адреса API, который имеет несколько конечных точек: < /p>
builder.Services.AddHttpContextAccessor();
builder.Services.AddHttpClient("ApiClient", client =>
{
client.BaseAddress = new Uri(builder.Configuration["BaseUrl:ApiUrl"]);
})
.SetHandlerLifetime(TimeSpan.FromMinutes(5))
.ConfigurePrimaryHttpMessageHandler(() => new SocketsHttpHandler
{
PooledConnectionLifetime = TimeSpan.FromMinutes(5),
EnableMultipleHttp2Connections = true,
MaxConnectionsPerServer = 10,
MaxResponseHeadersLength = 64 * 1024,

});

builder.Services.AddScoped(sp =>
{
var factory = sp.GetRequiredService();
var client = factory.CreateClient("ApiClient");

var httpContext = sp.GetRequiredService().HttpContext;
var jwtToken = httpContext?.User?.FindFirst("JwtToken")?.Value;

if (!string.IsNullOrEmpty(jwtToken))
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", jwtToken);
}

return client;
});
< /code>
Я просто задаюсь вопросом, правильный ли это способ сделать это и есть ли другие лучшие подходы для достижения этого в случае, если это считается дорогостоящим или неэффективным. Я делаю Blazor Server и полагаюсь на него в 100 -х странах бритвы, где я публикую/получаю/удаляю данные.

Подробнее здесь: https://stackoverflow.com/questions/797 ... zor-server
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»