我正在尝试从简单的WebApi Web服务获取数据。在Android Xamarin应用程序中,我有非常简单的代码:
public class Persons
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
}
class WebRequests
{
public static List<Persons> getPersons()
{
List<Persons> lp = new List<Persons>();
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
try
{
HttpResponseMessage response = client.GetAsync("http://localhost:49814/api/Data/Persons").Result;
if (response.IsSuccessStatusCode)
{
lp = JsonConvert.DeserializeObject<Persons[]>(response.Content.ReadAsStringAsync().Result).ToList();
}
}
catch
{
}
return lp;
}
}
问题在于行
HttpResponseMessage response = client.GetAsync("http://localhost:49814/api/Data/Persons").Result;
因为我收到了不正确的错误。我不知道什么是错的,因为没有任何错误消息我抓住了声明。我在一个简单的Win Forms应用程序中测试此代码,一切都很好。使用内置模拟器测试Xamarin应用程序。我应该使用真正的设备进行测试吗?
答案 0 :(得分:1)
不要使用localhost,因为localhost指向您的Android设备的127.0.0.1,如果您想使用您的web api,设置IIS服务器或在某处发布您的Web应用程序,我希望它会对您有所帮助。