VS 2015:将WebApp绑定到localhost

时间:2016-11-13 01:45:04

标签: asp.net visual-studio

我正在测试一个VS WebApp(一个OData提供商,如果重要的话)。客户端是Android。

您无法在同一个盒子上运行服务器和客户端(通过客户端'操作系统的模拟器)。

所以我使用物理Android设备来运行客户端。不幸的是,Visual Studio非常倾向于将webapp绑定到(并且仅限于)localhost。它不会响应连接到主机名或IP地址的尝试,并且任何尝试更改Visual Studio内部的IIS配置都会遇到错误消息,说明您具体必须使用localhost(显然不能用于从另一台机器连接)

1)我如何解决这个问题?

2)如果发现这一点并不明显,那么人们如何从他们的开发机器上的远程设备进行测试?

1 个答案:

答案 0 :(得分:0)

JoeHz,

您需要为WebApp更改IIS Express的绑定配置。

  • 在* .sln所在的文件夹中,找到名为.vs的隐藏文件夹。然后打开applicationhost.config文件夹中的xml文件config
  • applicationhost.config文件中,找到站点节点,然后找到要配置的站点。

例如:

 <site name="MySiteName" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\MyDirecctory" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:8381:localhost" />
        <!--Add new binding here with ip address-->
        <binding protocol="http" bindingInformation="*:8381:192.168.0.10" />
        <!--or add new binding with machine name-->
        <binding protocol="http" bindingInformation="*:8381:MachineName" />
    </bindings>
</site>
  • 保存文件后,请确保您的IIS Express已关闭并启动您的网站。 IIS Express启动后,检查新绑定是否有效,您应该看到如下内容:

IIS Express Extra binding

  • 确保您可以在网络浏览器中访问网站,而不是使用localhost访问网站,但这次使用新的绑定,例如http://192.168.0.56:33617.
  • 如果一切正常,请转到您的防火墙,然后为您需要打开的TCP添加新的port规则
  • 完成后,此时同一网络上的任何设备都应该能够访问该网站。在Android设备网络浏览器上尝试新地址。
  • 您的Android客户端现在应该可以访问您的WebApp。