Xamarin.forms 从中的Web API访问IIS Express

Xamarin.forms 从中的Web API访问IIS Express,xamarin.forms,visual-studio-2017,asp.net-web-api2,windows-10-mobile,Xamarin.forms,Visual Studio 2017,Asp.net Web Api2,Windows 10 Mobile,首先,我要说的是,这在VisualStudio2015中曾经奏效,但在VisualStudio2017中,我要让它发挥作用真是太难了 我有一个WebAPI项目正在Visual Studio 2017中运行。我在…\ProjectName.vs\config文件中编辑了applicationhost.config文件,因此它包含以下项目条目 <bindings> <binding protocol="http" bindin

首先,我要说的是,这在VisualStudio2015中曾经奏效,但在VisualStudio2017中,我要让它发挥作用真是太难了

我有一个WebAPI项目正在Visual Studio 2017中运行。我在…\ProjectName.vs\config文件中编辑了applicationhost.config文件,因此它包含以下项目条目

            <bindings>
                <binding protocol="http" bindingInformation="*:56952:localhost" />
                <binding protocol="http" bindingInformation="*:56952:192.168.1.155" />
            </bindings>

我的防火墙已完全禁用。当我尝试在Win10 Mobile V10.0.15254.0模拟器上运行Xamarin forms项目时,我的应用程序未连接到WebAPI。(我得到的标准是“找不到与此错误代码关联的文本。无法建立与服务器的连接。”


如果我在emulator上启动Edge,并尝试使用IP地址访问网络上的任何本地服务器,这是可行的。有人能告诉我发生了什么变化,以及我现在如何实现这一点吗?

所以问题是我使用的IP地址。以下是我用来解决这一问题的步骤:

  • 我启动了我的Windows10移动模拟器
  • 单击仿真器工具栏中的>>(工具)图标
  • 单击“其他工具”窗口的“网络”选项卡
  • 我在列表中查找标记为Desktop Adapter#1的网络适配器,并复制了IP地址
  • 编辑WebAPI项目文件夹中的Applicationhost.config文件
  • 在文件中找到site name=“XXXXX”的条目,其中XXXXX是承载WebAPI的Visual Studio项目的名称
  • 在WebAPI项目条目的
    部分中,为您在步骤4中复制的IP地址添加绑定。它应该如下所示:

    <binding protocol="http" bindingInformation="*:56952:169.254.69.220" />
    
    
    
  • 其中56952是我的IIS Express承载WebAPI的端口,169.254.69.220是我从步骤4复制的IP地址

    添加此项后,我能够连接到IIS Express中本地托管的WebAPI


    希望这有帮助。

    您是否使用XF项目中的IP?能否从emulator中的Edge访问您的服务端点?是-我的XF项目中的WebAPI的URL如上所示-否。我无法使用相同的(或任何形式)从emulator上的Edge浏览器直接访问WebAPI这听起来像是一个网络问题。所有已知的配置项都需要为emulator设置,以便在本地计算机上访问WebAPI-这是已知的。它以前工作过。我只是想问,如果VS 2017更改了此设置,因为现在我无法在visual studio中以调试模式访问WebAPI。