Ссылка на объект не установлена ​​на экземпляр объекта в httpclient.defaultrequestheaders.accept.add android xamarin - PullRequest
0 голосов
/ 17 октября 2019
        if (CrossConnectivity.Current.IsConnected)
        {
            var client = new HttpClient();
            client.Timeout = TimeSpan.FromSeconds(200);
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            HttpResponseMessage response = await client.GetAsync("http://example.Com/Service1.svc/Findemployee?uid=" + Username.ToString());
            if (response.IsSuccessStatusCode)
            {
                var data = await response.Content.ReadAsStringAsync();
                RootObject loginuserdata = JsonConvert.DeserializeObject<RootObject>(data);
                Strpassword = loginuserdata.FindemployeeResult;
            }


        }

ошибка выброса после обновления xamarin.forms в строке client.DefaultRequestHeaders.Accept.Add (new MediaTypeWithQualityHeaderValue ("application / json"));

1 Ответ

0 голосов
/ 17 октября 2019

Начиная с Android 9 (уровень API 28), поддержка открытого текста по умолчанию отключена.

Подробнее о режиме вы можете проверить Конфигурация безопасности сети

Решение

Создать файл res / xml / network_security_config.xml -

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">http://example.Com/Service1.svc/Findemployee</domain>
    </domain-config>
</network-security-config>

в AndroidManifest.xml -

<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:networkSecurityConfig="@xml/network_security_config"
        ...>
        ...
    </application>
</manifest>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...