繁体   English   中英

无法连接到 localhost/127.0.0.1:44326

[英]Failed to connect to localhost/127.0.0.1:44326

当我必须从本地主机的 web API 获取数据时,我正面临这个错误,android 应用程序正在模拟器中运行。

无法连接到 localhost/127.0.0.1:44326

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

这是我的 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;
        }
    }

检查您是否已安装 nuget 包传送带,如果可以,请按如下方式编辑 API URL http://192.168.8.200:45455/在您的问题中添加 44326 insted of 45455

更新您的代码,如下所示

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;
        }
    }

希望这能解决你的问题

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM