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 шт):
В решении YourAppName.Android
, Properties/AssemblyInfo.cs
Добавить строчку: [assembly: Application(UsesCleartextTraffic = true)]
В AndroidManifest.xml
будет добавляться: <application ... android:usesCleartextTraffic="True" >
.
Теперь мне интересно, почему этого не было по дефолту? Запросы на текста в интернетах, кажется повседневной операцией...