2016-06-10 24 views
1

无法在Xamarin.Forms项目中获取数据。我用以下代码尝试过,并且正在获取名称分解失败错误。获取NameResolutionFailure错误

 private const string BaseUrl = "http://intilaqemployees.azurewebsites.net/api/employeesapi"; 
      public async Task<List<Employee>> GetEmployeesAsync() 
      { 
       var httpClient = new HttpClient(); 
       try 
       { 
        var jsonResponse = await httpClient.GetStringAsync(BaseUrl).ConfigureAwait(false); 

        //The following line never gets executed 
        var employeesList = JsonConvert.DeserializeObject<List<Employee>>(jsonResponse); 

        return employeesList; 
       } 
       catch (AggregateException exception) { } 
       catch (Exception ex) 
       { 
       } 

       return null; 
      } 

这是我到目前为止已经试过

  1. 是否启用Internet在Android清单
  2. 将主机名到IP
  3. 试图直接通过设置client.DefaultRequestHeaders设置的主机。 Host =“intilaqemployees.azurewebsites.net”;
  4. 把无线关闭在模拟器

请注意:Android模拟器,没有任何互联网连接。

+0

你试试这个在您的设备@Shahriar –

+0

没有尝试在设备上? @AkashAmin – Shahriar

+0

试试看,您会如何在没有互联网的情况下拨打服务? –

回答

1

我的问题,通过这个代码解决:

var client = new HttpClient { 
    BaseAddress = new Uri("http://1.2.3.4"), 
    DefaultRequestHeaders = { Host = "example.com" } 
};