Я пытаюсь повторно использовать свой экземпляр HttpClient
, что является наилучшей практикой.
Поэтому в одном конкретном запросе я хочу установить заголовок Authorization
для запроса, а не устанавливать его глобально наклиент.Из всего, что я прочитал, это должно сработать:
var request = new HttpRequestMessage(HttpMethod.Get, url);
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);
var response = await _client.SendAsync(request);
Это компилируется, но затем выдает, когда я пытаюсь вызвать его.Исключение, которое я получаю:
"Неправильное имя заголовка. Убедитесь, что заголовки запросов используются с HttpRequestMessage, заголовки ответов с HttpResponseMessage и заголовки содержимого с объектами HttpContent."
Я запутался, почему мне разрешено устанавливать это значение в сообщении запроса, если оно просто собирается выдать, и я также не нашел обходного пути.
Я попытался напрямую добавить заголовокиспользуя TryAddWithoutValidation
, но я все еще получаю то же исключение (даже не возвращение false, как я ожидал!)
Я подозреваю, что это может быть ошибкой в фреймворке, так как несколько человек опубликовали этот точныйкод без явных проблем, но был бы заинтересован в любых выводах / обходных путях.