Почему DelegatingHandler не выполняется по первому запросу?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Почему DelegatingHandler не выполняется по первому запросу?

Сообщение Anonymous »

Я работаю над приложением Blazor WebAssembly и создал DelegatingHandler под названием MyJWTHttpHandler для прикрепления токена JWT к исходящим HTTP-запросам. Однако я столкнулся с проблемой, когда обработчик не выполняется по первому запросу, пока я не обновлю страницу. После обновления обработчик работает как положено.
Вот реализация моего обработчика:
public class MyJWTHttpHandler : DelegatingHandler
{
private readonly ISessionStorageService _sessionStorage;

public MyJWTHttpHandler(ISessionStorageService sessionStorage) : base()
{
_sessionStorage = sessionStorage;
}

protected override async Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
try
{
Console.Error.WriteLine("Sending Request");
var token = await _sessionStorage.ReadEncryptedItemAsync("Token");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token?.ToString());
return await base.SendAsync(request, cancellationToken);
}
catch (Exception ex)
{
Console.Error.WriteLine($"Error Sending Request: {ex.Message}");
return await base.SendAsync(request, cancellationToken);
}
}
}

А вот как я регистрирую обработчик в Program.cs:
builder.Services.AddTransient();
builder.Services.AddHttpClient("BaseUrl", client =>
{
client.BaseAddress = new Uri(builder.HostEnvironment.BaseAddress);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
}).AddHttpMessageHandler();


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Почему DelegatingHandler не выполняется по первому запросу?
    Anonymous » » в форуме C#
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Почему DelegatingHandler не выполняется по первому запросу?
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Частные переменные внутри DelegatingHandler, смешивающие значения из других запросов
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Свойство InnerHandler должно иметь значение null. Экземпляры DelegatingHandler, предоставленные HttpMessageHandlerBuilde
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • IhttpClientFactory с DelegatingHandler создает собственный класс
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

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