httpClient не дает ответа - PullRequest
       6

httpClient не дает ответа

0 голосов
/ 17 апреля 2020

Я пытаюсь вызвать токен Zoom Api for Access. Это прекрасно работает, когда я пытаюсь написать с почтальоном. но из кода он не отвечает

ZoomApiLink_StepNo2

ниже приведены следующие детали

 public static async Task<String> PostTogetToken<T>(string requestUrl, string client_Secretkey) {
            ZoomToken hello = new ZoomToken();

            var EncodedURl = ApiService.Base64Encode(client_Secretkey);
            using (var _httpClient = new HttpClient()) {

                if (!string.IsNullOrEmpty(requestUrl))
                    _httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Basic " + EncodedURl);

                var httpContent = new StringContent("", System.Text.Encoding.UTF8, "application/x-www-form-urlencoded");

                var httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, new Uri(requestUrl)) {
                    Version = HttpVersion.Version11,
                    Content = httpContent
                };

                using (var response = await _httpClient.SendAsync(httpRequestMessage)) {
                    if (response.IsSuccessStatusCode) {
                        response.EnsureSuccessStatusCode();
                        return await response.Content.ReadAsStringAsync();
                    } else {
                        return await response.Content.ReadAsStringAsync();
                    }
                }
            }
        }

1 Ответ

0 голосов
/ 17 апреля 2020

Вы видите общую проблему взаимоблокировки, потому что код, находящийся дальше по стеку, использует Result, блокировку асинхронного кода .

Чтобы исправить, измените Result на await и использовать async полностью .

...