【问题标题】:Xamarin Android ConnectFailure (Connection Refused) - Has Internet permissionsXamarin Android ConnectFailure(连接被拒绝)-具有 Internet 权限
【发布时间】:2018-12-02 22:46:49
【问题描述】:

我有一个 Xamarin.Forms 应用程序,它与 Azure 上托管的 API 通信。快速总结:

  • UWP 构建工作正常(完全没有连接问题)
  • Android 版本具有 INTERNET 权限集
    • 我在运行应用程序时没有收到权限通知
  • Android 版本正在真实设备上运行,不是模拟器
  • 我正在使用 RestSharp 构建和发送 HTTP 请求 (v106.5.4)

在尝试向托管 API 发送 HTTP 请求时,Android 版本会出现“ConnectFailure (Connection Refused)”错误。

我不知道下一步该尝试什么,因为我从未遇到过这样的问题。

任何建议和指导将不胜感激!

谢谢

编辑 我可以通过设备上的浏览器连接到 API。

【问题讨论】:

  • 您可以使用设备上的浏览器连接到 API 吗?
  • 嗨@Jason 是的。我设置了一个测试 API 方法来返回一条简单的消息。我可以通过设备上的浏览器连接到 API。
  • 检查您的服务器日志,或使用 Wireshark 之类的工具来比较客户端之间的请求
  • 您的 Android 设备的 API 级别和您当前的目标版本
  • @G.hakim 设备是 23,目标是 27。我没有遇到与其他应用程序发出 HTTP 请求的问题,只有这个。会是 RestSharp 吗?因为这是第一次将它与 Xamarin 一起使用,也是我第一次遇到这个问题。

标签: xamarin xamarin.android


【解决方案1】:

据我推测,在发布问题后,RestSharp 似乎无法与 Android 配合使用。

修复

您可以使用System.Net.Http 命名空间中的HttpClient 类来代替RestSharp。以下是更多信息,包括示例:Microsoft Docs。在某些方面,与 RestSharp 相比,它实际上似乎更容易使用。

快速提示:不要忘记设置基本 URI。

【讨论】:

    猜你喜欢
    • 2020-08-17
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-22
    • 1970-01-01
    • 2015-06-20
    相关资源
    最近更新 更多