微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

不要在模拟器中连接到 web api,而是在真实手机中以 xamarin 形式工作

如何解决不要在模拟器中连接到 web api,而是在真实手机中以 xamarin 形式工作

我创建了一个 xamarin 跨平台项目,用于从 MVC Web API 接收信息, 在我的 android 模拟器项目中可以正常工作 2 天,在调试过程中 2 天后,当调试器捕获时

var response = await client.GetStringAsync(url);

从另一个代码跳过,不返回任何数据,也没有任何错误

这是我的孔代码

 List<CompanyName> companyNameList = new List<CompanyName>();
        string url = Constants.RestUrl + "api/Companyname";
        using (HttpClient client = new HttpClient())
        {
            try
            {
                var response = await client.GetStringAsync(url);
                companyNameList = JsonConvert.DeserializeObject<List<CompanyName>>(response);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(@"\tERROR{0}",ex.Message);
            }
        }
        return companyNameList;

第一步:我在我的域上设置了 SSL,但问题存在

在第二步:我重新安装了 windows 和 Visual Studio 2019,它可以正常工作 2 天,但问题再次出现,

在这种情况下,我导出我的应用程序并安装在我的真实手机中, 它工作正常,为什么? 应用程序无法在模拟器上运行,但可以在我的具有相同网络的手机上运行。

解决方法

您是否配置了防火墙。如果没有,请按照以下程序操作。 添加入站防火墙规则,允许访问远程 URL 中给定的 TCP 端口。

  1. 打开 Windows“开始”并输入 WF.msc。
  2. 点击左侧的“入站规则”。
  3. 点击右侧的“新规则”。
  4. 在新对话框中选择“端口”,然后选择“下一步”。
  5. 选择 TCP,然后在“特定本地端口”旁边的远程 URL 中输入端口 (45455-45500),然后“下一步”。
  6. 接下来(您可能想要禁用“公共”),为其命名为“MyServer: web dev server access enabled”。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。