gpt4 book ai didi

c# - 从 Xamarin Forms 连接到 RESTful 服务的本地调试实例时出现问题

转载 作者:太空宇宙 更新时间:2023-11-03 14:42:29 25 4
gpt4 key购买 nike

我在 VS 2015 项目中有一个基本的 RESTful 服务实现。我刚刚开始学习 Xamarin 表单(在 VS 2019 中),我正在尝试验证我是否可以使用来自 Android 模拟器的服务。

当我在 Debug模式下运行服务时,我可以使用“http://localhost:49826/api/values/2”并成功从服务中获取数据。

但是,当我使用我的 Xamarin 项目中的相同内容时:

_client = new HttpClient();_client.GetAsync("http://localhost:49826/api/values ");

我收到以下错误:

{System.Net.WebException: 无法连接到 localhost/127.0.0.1:49826 ---> Java.Net.ConnectException: 无法连接到 localhost/127.0.0.1:49826

我在这里找到的以下信息:https://learn.microsoft.com/en-us/xamarin/cross-platform/deploy-test/connect-to-local-web-services ,我将调用更改为:

_client.GetAsync("http://10.0.2.2:49826/api/values ");

{Newtonsoft.Json.JsonReaderException:解析值时遇到意外字符:<。路径 '',第 0 行,位置 0。

客户端调用与“https://jsonplaceholder.typicode.com/posts”一起工作正常,并且从浏览器调用时服务工作正常,但当我尝试连接它们时缺少某些东西。有什么想法吗?

最佳答案

我正在使用 Xamarin with Visual Studio,我需要在我的开发机器上从物理 Android 设备使用 REST-API 以遵循教程。

所以我安装了一个名为 Conveyor by Keyoti 的免费 Visual Studio 工具/插件.

当您的 WebApp/Rest-Api 在您的开发机器上的 Visual Studio 中处于调试模式时,Conveyor 为您提供了 3 种从另一台设备连接到您的应用程序的方法:

  • 本地 URL(localhost URL,与 Visual Studio 相同)
  • 远程 URL(用于从连接到本地网络的另一台设备访问您的应用的 URL)
  • Internet URL(通过 Internet 访问您的应用程序)

所以我激活了 internet URL 选项,并通过我的数据计划从我的 Android 手机成功访问了我的 Rest-Api(如果您的设备在同一本地网络上,请选择 Remote URL),但您必须注册一个免费帐户才能使用 Internet URL 选项,该选项将在几个月后免费提供(根据撰写本文时的网站)这条评论)。

要在 Visual Studio 中安装 Conveyor,请转至 Tools >> Extensions and updates,然后选择左侧的 Online 选项,搜索并安装。您必须重新启动 Visual Studio 才能使安装生效。

关于c# - 从 Xamarin Forms 连接到 RESTful 服务的本地调试实例时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56080526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com