Я создал HttpRequestMessage с заголовком, используя windows.web.http; библиотека:
var request = base.CreateHttpRequestMessage();
request.Headers.Add("SESSION", SessionId);
return request;
и после отправки SendRequestAsync ();Я могу получить ответ успешно.
Но в моем случае мне нужно использовать библиотеку system.net.http; , с такими же кодами:
var request = base.CreateHttpRequestMessage();
request.Headers.Add("SESSION", SessionId);
return request;
но когда я звоню SendAsync ();Я получаю неавторизованный ответ.Кто-нибудь знает, что вызвало проблему?
var source = new CancellationTokenSource(timeout)
var response = await _client.SendAsync(request, source.Token)
.ConfigureAwait(false);
ПРИМЕЧАНИЕ: Я попытался вручную установить одинаковые действительные SessionId для обоих, на windows.web.http Хорошо, но на system.net.http он не авторизован.
Как я инициализирую мой HttpClient:
private HttpClientHandler handler;
handler = new HttpClientHandler();
private HttpClient _client;
_client = new HttpClient(handler)
Ссылка: https://docs.microsoft.com/en-us/dotnet/api/system.net.http?view=netframework-4.7.2
https://docs.microsoft.com/en-us/uwp/api/windows.web.http
Формат заголовка запросов:
windows.web.http: system.net.http:
Спасибо.