Java.IO.IOException SendAsync

Проект на Xamarin под Android. Последние версии Xamarin и .Net.

private async Task<string> GetStringResponse (string url)
{
    using (HttpClient client = new HttpClient())
    using (HttpResponseMessage response = await client.GetAsync(url))
        return await response.Content.ReadAsStringAsync();
}

Хочу получить Json с сервера, но GetAsync выдаёт ошибку:

[monodroid] Not wrapping exception of type Java.IO.IOException from method SendAsync. This will change in a future release.

Без async/await еще выдаёт:

System.Reflection.TargetInvocationException: 'Exception has been thrown by the target of an invocation.'


В консольном приложении всё работает, с адресами ошибок нет.

android.permission.INTERNET в манифесте есть, проверял.

В интернете не так много случаев этой ошибке, в основном проблема у людей появлялась при переходе версий и было это давно. Их проблема решалась настройкой авейтера Task.ConfigureAwait(false).

Xamarin платформа распространённая, но особо проблем с этим не видно, где я так накосячил?


Ответы (1 шт):

Автор решения: Yaroslav

В решении YourAppName.Android, Properties/AssemblyInfo.cs

Добавить строчку: [assembly: Application(UsesCleartextTraffic = true)]

В AndroidManifest.xml будет добавляться: <application ... android:usesCleartextTraffic="True" >.


Теперь мне интересно, почему этого не было по дефолту? Запросы на текста в интернетах, кажется повседневной операцией...

→ Ссылка