我是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也是如此。有什么建议吗?
答案 0 :(得分:0)
如果您尝试使用的端点托管在本地计算机上,并且您在本地Android模拟器中运行该应用程序,则可以使用以下IP地址从模拟器到达主机:
http://10.0.2.2
当然这会打破iOS,但它是可以从Android模拟器用来访问主机的IP。作为替代方案,您可以使用ngrok
,它可以创建到本地计算机上托管的端点的公共可访问隧道,然后从Android应用程序访问公共端点。如果您希望避免将端点托管到可以从模拟器访问的网络位置,那么在开发期间它可能会有所帮助。