C# 在Visual Studio Xamarin中从远程url获取JSON不起作用
我开始学习Xamarin为iOS、Android和Windows Phone开发应用程序 这似乎是个简单的问题,但我不知道如何处理Xamarin 我有以下几行代码:C# 在Visual Studio Xamarin中从远程url获取JSON不起作用,c#,visual-studio,xamarin,C#,Visual Studio,Xamarin,我开始学习Xamarin为iOS、Android和Windows Phone开发应用程序 这似乎是个简单的问题,但我不知道如何处理Xamarin 我有以下几行代码: public async Task<List<MyData>> GetItemsAsync() { HttpClient client = new HttpClient(); try { string result = await client.GetS
public async Task<List<MyData>> GetItemsAsync()
{
HttpClient client = new HttpClient();
try {
string result = await client.GetStringAsync( "https://jsonplaceholder.typicode.com/posts/1" );
if(!string.IsNullOrWhiteSpace(result)) {
}
} catch( Exception ex ) {
return await Task.FromResult(new List<MyData>(0));
} finally {
client.Dispose(); //of course, I can use `using`
}
return await Task.FromResult(new List<MyData>(0));
}
public异步任务GetItemsAsync()
{
HttpClient=新的HttpClient();
试一试{
字符串结果=等待客户端。GetStringAsync(“https://jsonplaceholder.typicode.com/posts/1" );
如果(!string.IsNullOrWhiteSpace(结果)){
}
}捕获(例外情况除外){
返回等待任务.FromResult(新列表(0));
}最后{
client.Dispose();//当然,我可以使用'using'`
}
返回等待任务.FromResult(新列表(0));
}
在Visual Studio Android Emulator中进行调试时(VisualStudio_Android-23_x86_phone(Android 6.0-API 23)
),以字符串结果
开头的行被卡住,不会发生任何情况,也不会引发异常。我无法在Visual Studio中使用F10进行检查
另外,我不能使用WebClient
,因为System.Net不包括它
编辑:如果我删除wait
,则我会收到一个一般异常:
我的错误在哪里?对于那些遇到错误的人:
错误:SecureChannelFailure(身份验证或解密失败)。
请使用Android的特定处理程序:
using (HttpClient myClient = new HttpClient(new AndroidClientHandler())) { }
或对于iOS:
using(HttpClient myClient = new HttpClient(new CFNetworkHandler())) {}
参考资料:
您确定可以从设备/模拟器访问您的URI吗?您是否等待查看请求是否最终超时?是的,我自己尝试过,它会相应地显示在
浏览器
浏览器中。我看到HTTPS存在问题,如果我使用http
将正常工作…如何解决HTTPS
问题?聚合异常的内部异常是什么?错误:SecureChannelFailure(身份验证或解密失败。)