Xamarin.Droid HttpRequestException

时间:2017-03-25 23:36:05

标签: c# xamarin xamarin.android

我是Xamarin Forms的新手。我正在构建一个使用Web服务的应用程序。我在尝试连接服务器时收到HttpRequestException。 InnerException抛出System.Net.WebException: Error: NameResolutionFailure at System.Net.HttpWebRequest.EndGetResponse (System.IAsyncResult asyncResult)

崩溃的代码是:

public async Task<IEnumerable<Bono>> GetAll()
{
    var Url = Constants.baseUrl + "cliente/1/bonos";
    HttpClient cliente = new HttpClient();
    var bonos = await cliente.GetStringAsync(Url);
    return JsonConvert.DeserializeObject<List<Bono>>(bonos);
}

我正在使用VS for Mac。 Xamarin.iOS也是如此。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

如果您尝试使用的端点托管在本地计算机上,并且您在本地Android模拟器中运行该应用程序,则可以使用以下IP地址从模拟器到达主机:

http://10.0.2.2

当然这会打破iOS,但它是可以从Android模拟器用来访问主机的IP。作为替代方案,您可以使用ngrok,它可以创建到本地计算机上托管的端点的公共可访问隧道,然后从Android应用程序访问公共端点。如果您希望避免将端点托管到可以从模拟器访问的网络位置,那么在开发期间它可能会有所帮助。