无法连接到localhost / 127.0.0.1:44326

时间:2020-02-20 08:15:02

标签: sql-server asp.net-web-api xamarin.forms localhost

当我必须从localhost的Web API中获取数据时,我遇到了这个错误,Android应用程序正在模拟器中运行。

无法连接到localhost / 127.0.0.1:44326

xamarin应用程序中的localhost服务器没有响应,而我可以在邮递员和浏览器中获取结果。我在xamarin MainPage.xaml.cs中放入了URL(“ https://localhost:44326/api/passportStatus”。这些信息足以知道我到底想要什么吗?

这是我的mainpage.xaml.cs

public partial class MainPage : ContentPage
    {`public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
            empDetails();
        }

        private async void empDetails()
        {
            var result = "";
        HttpClient client = new HttpClient();
        var API_URL = "https://localhost:44326/api/passportStatus";
        client.BaseAddress = new Uri(API_URL);
        client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
        HttpResponseMessage respons = await client.GetAsync(API_URL);
        result = await respons.Content.ReadAsStringAsync();
        var PassportDetails = JsonConvert.DeserializeObject<List<detail>>(result);
        EmpDeatils.ItemsSource = PassportDetails;
        }
    }

3 个答案:

答案 0 :(得分:2)

检查是否已安装nuget包装输送机,如果可以,请在您的问题中添加API网址为45455的http://192.168.8.200:45455/编辑API URL

答案 1 :(得分:1)

按如下所示更新代码

public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
            empDetails();
        }

        private async void empDetails()
        {
            var result = "";
        HttpClient client = new HttpClient();
        var API_URL = "https://192.168.0.47:44326/api/";//Updated
        client.BaseAddress = new Uri(API_URL);
        client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
        HttpResponseMessage respons = await client.GetAsync("passportStatus");//Updated
        result = await respons.Content.ReadAsStringAsync();
        var PassportDetails = JsonConvert.DeserializeObject<List<detail>>(result);
        EmpDeatils.ItemsSource = PassportDetails;
        }
    }

希望这可以解决您的问题

答案 2 :(得分:0)

127.0.0.1 是本地主机;这是每台本地计算机的IP地址, 这意味着您尝试创建从Android应用到Android设备的请求

换句话说,您尝试连接Android设备,而不是计算机Localhost。

为此,您需要将计算机中的本地主机从 127.0.0.1 更改为计算机的当前 IP4

现在尝试此扩展并按照说明在Visual Studio中执行此操作: https://marketplace.visualstudio.com/items?itemName=vs-publisher-1448185.ConveyorbyKeyoti