Ali*_*123 4 httpclient xamarin.android xamarin.forms
在 android 物理设备中调试 xamarin 表单应用程序时,我遇到了一个奇怪的问题。
该应用程序进入中断模式,这是我收到的输出:
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.
Run Code Online (Sandbox Code Playgroud)
我尝试了许多解决方案,例如允许应用程序中的网络访问,确保所有需要的包都在那里,例如:
Microsoft.Bcl.Build
Microsoft.net.HTTP
Newtonsoft.json
Run Code Online (Sandbox Code Playgroud)
这是我在 UWP 中运行良好的代码 var request = new HttpRequestMessage();
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();
Run Code Online (Sandbox Code Playgroud)
编辑:我在设备日志中收到 2 个主要错误:
[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)
Run Code Online (Sandbox Code Playgroud)
小智 5
更改 Xamarin.Android 中的默认 SSL/TLS 实现。
转到 Android 项目设置->Android 选项->高级->SSL/TLS 实现并将其设置为Native TLS 1.2+
归档时间: |
|
查看次数: |
1569 次 |
最近记录: |