Web服务在设备浏览器中可用,但在应用程序中不可用

时间:2017-04-03 20:49:49

标签: xamarin xamarin.android xamarin.forms

我目前正在开发一个Xamarin Forms应用程序,我正在尝试调用从物理Android设备本地运行的REST API。我可以浏览到网址

http://localhost:3000/api/orders_initial/0333a05b-5c49-48d6-8e60-1eb6a4d627ff

在设备上的Opera / Chrome中获取预期的JSON结果。我还能够从Play商店中提供的一些REST API客户端应用程序成功调用REST API。但是,当我尝试从我的应用程序调用REST API时,我收到连接拒绝错误。任何想法为什么会这样?以下是用于调用REST API的代码:

private string baseUrl = @"http://localhost:3000/api/";
    private HttpClient client;

    public RestService() {
        client = new HttpClient();
        client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
    }

    public async Task<List<Order>> GetOrdersForInitialSync(Guid id) {
        var uri = new Uri(baseUrl + @"orders_initial/" + id.ToString());
        var response = await client.GetAsync(uri);
        if (response.IsSuccessStatusCode) {
            var content = await response.Content.ReadAsStringAsync();
            return JsonConvert.DeserializeObject<List<Order>>(content);
        }
        else {
            return new List<Order>();
        }
    }
}

0 个答案:

没有答案