Xamarin应用程序无法从模拟器获取api数据,在物理设备上运行良好

时间:2018-11-12 14:56:19

标签: android xamarin.android android-emulator

我的应用程序无法在模拟器中获取数据。起初我以为是整个模拟器,但是youtube和chrome等其他应用程序也可以正常访问互联网。我是xamarin和c#的新手,所以将不胜感激。

1 个答案:

答案 0 :(得分:0)

谈论Android模拟器,需要设置2件事:

  1. 您将使用http://10.0.2.2:55858而不是http://localhost:55858。协议和端口号仅作为示例,取决于您的服务器应用程序设置。

  2. 检查修改后的地址是否在模拟器内的chrome中打开。如果您有Bad Gateway之类的东西,请继续进行有趣的部分:

    • 找到解决方案目录,然后在其中查找子目录“ .vs / config”。
    • 在某些文本编辑器中打开“ applicationhost.config”,查找地址字符串,例如“ localhost:55858”。
    • 让我们假设您发现了类似的东西:

      <bindings>
          <binding protocol="http" bindingInformation="*:55858:localhost" />
          <binding protocol="https" bindingInformation="*:44337:localhost" />
      </bindings>
      

现在在此处添加行以获得结果:

        <bindings>
            <binding protocol="http" bindingInformation="*:55858:localhost" />
            <binding protocol="https" bindingInformation="*:44337:localhost" />
            <binding protocol="http" bindingInformation="*:55858:127.0.0.1" />
            <binding protocol="https" bindingInformation="*:44337:127.0.0.1" />
        </bindings>

通过这种方式,您要求IIS Express将外部请求重定向到您的计算机

  • 关闭Visual Studio
  • 在时钟附近的任务栏中找到正在运行的IIS(如果有)图标,右键单击它并关闭
  • 现在您可以再次运行所有内容,它将获取修改后的“ applicationhost.config”