Я создал 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:
Спасибо.
use system.net.http
, вы хотите использоватьsystem.net.http.HttpClient
? - person Jerry Liu   schedule 11.12.2018