HttpRequestMessage не разрешает значение заголовка авторизации - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь повторно использовать свой экземпляр 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, как я ожидал!)

Я подозреваю, что это может быть ошибкой в ​​фреймворке, так как несколько человек опубликовали этот точныйкод без явных проблем, но был бы заинтересован в любых выводах / обходных путях.

1 Ответ

0 голосов
/ 10 октября 2018

Оказывается, что из-за другой ошибки значение "token" было нулевым.Я бы рекомендовал сначала проверить это, если у вас возникла эта проблема: обратите внимание, что сообщение об ошибке было 100% ложью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...