我使用PCL创建了一个简单的xamarin表单应用程序,它使用WEBAPI在listview中显示数据。当我打电话给WebAPI时,我遇到了错误。
ex = {System.Net.Http.HttpRequestException:发生错误 发送请求---> System.Net.WebException:错误: System.Net.HttpWebRequest.EndGetResponse上的NameResolutionFailure (System.IAsyncResult asyncResult)[0x00058] in
我的WEBAPI: -
private const string WebServiceUrl = "http://msweb102/WEBAPI/api/employee/";
我在下面的代码中遇到错误,
var json = await httpClient.GetStringAsync(WebServiceUrl);
如果有人遇到同样的问题,请帮助我。在此先感谢。
我的RestClient代码: -
public async Task<List<T>> GetAsync()
{
//var taskModels = new List<T>();
var test = new List<T>();
try
{
var httpClient = new HttpClient();
var json = await httpClient.GetStringAsync(WebServiceUrl);
var taskModels = JsonConvert.DeserializeObject<List<T>>(json);
test = taskModels;
}
catch(Exception ex)
{
}
return test;
}
答案 0 :(得分:1)
您的域名不正确。请提供完全量化的域名
编辑:假设您有一些将服务器IP地址映射到域(主机文件,私有DNS等)的配置,只需将msweb102
替换为服务器的IP地址
例如 127.0.0.1/WEBAPI/api/employee/
答案 1 :(得分:0)
你在真实设备上的模拟器上有什么错误。
在这种情况下,您的测试环境似乎无法访问API环境
将MSWeb02更改为IP地址,并确保设置窗口防火墙以允许端口80上的出站连接。
测试它的简单方法是在设备的浏览器中打开web api。如果这样做,您的代码将起作用。