C# 从Xamarin表单连接到RESTful服务的本地调试实例时出现问题

C# 从Xamarin表单连接到RESTful服务的本地调试实例时出现问题,c#,rest,debugging,xamarin,xamarin.android,C#,Rest,Debugging,Xamarin,Xamarin.android,我在VS2015项目中实现了一个基本的RESTful服务。我刚刚开始学习Xamarin表单(在VS2019中),我正在尝试验证我是否可以使用Android模拟器提供的服务 当我在调试模式下运行服务时,我可以使用“”,并成功地从服务中获取数据 但是,当我使用Xamarin项目中的相同内容时: _client=新的HttpClient(); _client.GetAsync(“”) 我得到以下错误: {System.Net.WebException:未能连接到localhost/127.0.0.1:

我在VS2015项目中实现了一个基本的RESTful服务。我刚刚开始学习Xamarin表单(在VS2019中),我正在尝试验证我是否可以使用Android模拟器提供的服务

当我在调试模式下运行服务时,我可以使用“”,并成功地从服务中获取数据

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

_client=新的HttpClient(); _client.GetAsync(“”)

我得到以下错误:

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

我在此处找到以下信息:,我将呼叫更改为:

_client.GetAsync(“”)


{Newtonsoft.Json.JsonReaderException:分析值时遇到意外字符:如果仍然无法命中本地端点,请尝试从IIS Express切换到windows上可用的完整IIS。这在过去对我很有效。我知道IIS Express处理传入流量的方式与IIS不同

Windows:开始->搜索:Windows功能->打开或关闭Windows功能->启用Internet信息服务

此时,请导航到localhost,以确保看到IIS登录页

Visual Studio(在Web项目中)->Project->[ProjectName]属性…->调试->将启动从IIS Express切换到IIS


请记住,如果您切换到您的项目,并在未启用IIS的计算机上打开此项目,则他们将无法打开它。因此,您必须根据需要将其切换回IIS Express。

我遇到了类似的问题,我这样解决了它:

  • 右键单击api项目
  • 转到属性->调试->更改应用程序Url:->

要确定您的IP地址,请转到
cmd
并键入
ipconfig
。选择您的IPv4地址。

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

所以我安装了一个名为的免费VisualStudio工具/插件

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

  • 本地URL(一个
    localhost
    URL,与Visual Studio相同)
  • 远程URL(从连接到本地网络的其他设备访问应用程序的URL)
  • Internet URL(通过Internet访问您的应用程序)
因此,我激活了
互联网URL
选项,并通过我的数据计划从我的Android手机成功访问了我的Rest Api(如果你的设备位于同一个本地网络上,请选择
远程URL
),但您必须注册一个免费帐户才能使用
互联网URL
选项,该选项将在接下来的几个月内保持免费(根据撰写此评论时的网站)


要在Visual Studio中安装Converter,请转到
工具>>扩展和更新
,然后在左侧的
联机
选项中搜索并安装。您必须重新启动Visual Studio才能使安装生效。

在Android中使用“Localhost”时,您指的是设备模拟器本身,而不是您的“主机”(PC)您可以使用专门映射的IP地址10.0.2.2(Android emulator中的IP地址映射到其宿主PC)与此相关的SOs很多,这里只有一个:正如我的问题文本中所指出的,我尝试过。您发布了使用10.0.2.2时出现完全不同的错误,并且您所说的有效与产生错误的URL不同。编辑问题并删除对localhost错误的引用,然后发布实际代码、json解析失败的返回值和异常/堆栈跟踪,以明确您遇到的问题。没有任何效果。两个示例都会引发异常,我发布了两个结果。我在第一个url中犯了一个错误,其中包括一个“/2”,但无论我做什么,我都会遇到一个异常。我在服务中有一个断点,它不会从我的Xamarin应用程序触发,但会被触发(而且服务似乎工作正常)当从另一个浏览器调用时。抱歉,如果我不清楚的话,我会尽量简洁。由于10.0.2.2正在返回响应,因此您似乎可以使用10.0.2.2来访问终结点。您还可以使用android emulator的chrome或internet浏览器浏览到您的终结点。如果您仍然无法获得响应,则可能会进行更快的测试你的防病毒软件正在阻止流量。