2017-11-24 2 views
3

Ich habe ein seltsames Problem, das beim Debuggen der Xamarin Forms App in Android physischen Gerät auftritt.Httpclient Xamarin Formulare Anruf funktioniert nicht in Android

Die App geht Modus zu brechen und hier wird der Ausgang i erhalten:

Mono.Android[0xd6be8960] -> System[0xd6be9680]: 14 
    11-24 23:44:44.098 I/Choreographer(18685): Skipped 930 frames! The application may be doing too much work on its main thread. 
    Thread started: <Thread Pool> #8 
    Thread started: <Thread Pool> #9 
    11-24 23:44:44.807 D/Mono (18685): Assembly Ref addref Mono.Security[0xc17989e0] -> System[0xd6be9680]: 15 
    Thread started: <Thread Pool> #10 
    An unhandled exception occured. 

ich viele Lösungen wie so dass der Netzzugang in der App, sorgte dafür, dass versucht, dass alle benötigten Pakete sind wie :

Microsoft.Bcl.Build 
Microsoft.net.HTTP 
Newtonsoft.json 

Dies ist mein Code, der in UWP var request = new HttpRequestMessage() funktioniert gut;

request.RequestUri = new Uri("https://jsonplaceholder.typicode.com/users"); 
    request.Method = HttpMethod.Get; 

    request.Headers.Add("Accept", "application/json"); 
    var client = new HttpClient(); 
    HttpResponseMessage response = await client.SendAsync(request); 
    HttpContent content = response.Content; 
    var statusCode = response.StatusCode; 
    var json = await content.ReadAsStringAsync(); 

EDIT: Ich bin 2 Hauptfehler im Geräteprotokoll bekommen:

[ERROR] FATAL UNHANDED EXCEPTION: System.Net.HttpRequestException:An error occurred while sending the request --> System.Net.WebException:Error:SecureChannelFailure(The authentication or decryption has failed) 
+0

haben Sie die Ausnahme versucht zu kontrollieren? – Jason

+0

es geht einfach in Break-Modus ohne Ausnahme oder Erklärung – Ali123

+0

Ich bekomme 2 Hauptfehler im Geräteprotokoll: [ERROR] FATAL UNHANDED EXCEPTION: System.Net.HttpRequestException: Ein Fehler trat beim Senden der Anfrage -> System. Net.WebException: Fehler: SecureChannelFailure (Die Authentifizierung oder Entschlüsselung ist fehlgeschlagen) – Ali123

Antwort

3

ändern Sie die Standard-SSL/TLS-Implementierung in Xamarin.Android.

Zum Android Projekt Einstellungen-> Android Optionen-> Erweitert-> SSL/TLS-Implementierung und es india TLS eingestellt 1.2+

enter image description here

+0

Vielen Dank für Ihre Antwort, Ich änderte die obige Option gerade jetzt und es funktionierte – Ali123

+0

Ich meine die httpclient Implementierung, sollte ich noch die ssl/tls ändern? – Ali123

+0

Wenn es Ihr Problem lösen, markieren Sie es bitte als Antwort – lowleetak

Verwandte Themen