c# - HttpClient GetAsync() 无法按预期在 Xamarin.iOS 上运行
问题描述
所以.. 这似乎是一件很容易的事情——发送一个异步 http 请求,对吧?我有 Xamarin 项目,其核心项目是基于 .NET Standard 的项目。我正在使用 System.Net.HttpClient 中的 HttpClient。当我在真实设备或模拟器上运行应用程序时会出现问题。
我在互联网上找到的一切都与 async/await 的错误使用有关。有趣的是,以下代码是同步工作的,我的意思是当我使用.GetAwaiter().GetResult()时。但是异步运行它,应用程序就会冻结。Try/Catch也无济于事:)
var httpClient = new HttpClient();
try
{
var response = await httpClient.GetAsync("https://google.com");//.ConfigureAwait(false).GetAwaiter().GetResult();
return await HandleHttpResponse<T>(response);
}
catch (Exception
{
App.LogService.Log(MvvmCross.Logging.MvxLogLevel.Error, () => ex.Message);
throw ex;
}
解决方案
推荐阅读
- c# - XmlDocument 中的 CreateWhitespace 和 CreateSignificantWhitespace 有什么区别
- python - PySpark 中的 Cramer's V
- excel - 一个宏在合并到另一个宏时不起作用
- html - Angular 8 通过只有 id 从输入中获取值
- regex - 如何在 PowerShell 单行中“grep”?
- itunes - iTunes 已停止更新此播客,因为您最近没有收听任何剧集
- python - 无法 PyImport_Import 导入模块的模块
- javascript - Dash Python - 使用外部 Javascript 显示图像
- azure - 哪个应用程序的旧版 Azure 应用程序洞察性能分析器?
- java - 蜂巢表给出错误未实现的类型