@MaxFloat

Xamarin+Android: почему SendAsync зависает при отладке на устройстве?

Я только начал пробовать Xamarin, опыта нет. Отлаживаться, по техническим причинам, могу только на устройстве. Написал простой код для связи со своим сайтом, но на SendAsync стабильно происходит зависание. Пробовал Post и Get запросы - эффект один и тот же. При этом браузер нормально ходит по этому адресу, Postman - тоже. Адрес перепроверял на сто раз, интернет на устройстве есть. В манифесте проставил галочки на INTERNET, READ_EXTERNAL_STORAGE и WRITE_EXTERNAL_STORAGE. Было бы ясно, если бы был ответ типа 404 или 500, но вообще зависание - почему? Подскажите, что ещё проверить...

HttpRequestMessage request = new HttpRequestMessage();
            request.RequestUri = new Uri("https://<my_server_name>");
            HttpClient client = new HttpClient();
            request.Method = HttpMethod.Get;
            using (HttpResponseMessage response = await client.SendAsync(request))
            {
                if (response.IsSuccessStatusCode)
                {
                    var result = await response.Content.ReadAsStringAsync();
                    Toast.MakeText(Application.Context, result, ToastLength.Long);
                }
            }
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 1
@MaxFloat Автор вопроса
Сам разобрался. Нельзя такие вещи делать в UI-потоке. Обернул запрос в AsyncTask - заработало.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы