将本地主机上运行的服务公开给Android仿真器?
我正在通过ASP.net/Visual Studio运行一项服务,该服务正在与Android应用程序一起开发。当我通过VS运行服务时,可以在将本地主机上运行的服务公开给Android仿真器?,android,asp.net,windows,rest,visual-studio-2012,Android,Asp.net,Windows,Rest,Visual Studio 2012,我正在通过ASP.net/Visual Studio运行一项服务,该服务正在与Android应用程序一起开发。当我通过VS运行服务时,可以在http://localhost:13980/但不是http://127.0.0.1:13980/(这会导致“错误请求-无效主机名”400错误)。显然,我不能告诉Android应用程序在“localhost”上寻找服务,因为这会指向它自己 我理解()Android emulator将10.0.2.2视为主机127.0.0.1的直通IP地址,因此,如果我a)通
http://localhost:13980/
但不是http://127.0.0.1:13980/
(这会导致“错误请求-无效主机名”400错误)。显然,我不能告诉Android应用程序在“localhost”上寻找服务,因为这会指向它自己
我理解()Android emulator将10.0.2.2视为主机127.0.0.1的直通IP地址,因此,如果我a)通过127.0.0.1正确公开localhost,并且b)将应用程序中的目标地址从localhost:port更改为10.0.2.2:port,那么一切都将合情合理
我该怎么做A部分呢?我运行的是Windows 8.1 Pro和Visual Studio 2012,这个项目的目标是.NET 4.5
谢谢 改用IP地址10.0.2.2。见此: 您有两个选择:
http://10.0.2.2:8081
第二个不是一个很好的解决方案。这可能会与操作系统产生一些冲突,我甚至不确定卡西尼号是否还会满足这个请求。VisualStudio的内置web服务器(Cassini)只侦听本地请求,因此选项(1)实际上是最灵活的。另外,由于您有W8 Pro.IP地址
10.0.2.2
IP映射到127.0.0.1
IP地址,而不是localhost
从emulator连接到
10.0.2.2
,然后将站点托管在127.0.0.1
上,而不是localhost
。那应该行。你能给我指一个能指导我完成这项工作的资源吗?我现在设想的是,每次我更新服务器时都需要手动重新部署,而不是卡西尼号的“命中F5并继续”方法,这会很糟糕。我可以做一些配置,让它成为一键式的东西吗?另外,如果问题1的寻址没有解决,那么#2真的可以工作吗?我可以在应用程序中更改为10.0.2.2:8081(ps:该端口来自何处?我的服务运行于:13980),然后更改我的计算机的hosts文件,将127.0.0.1重定向到localhost,或者它不是这样工作的?您可以设置visual studio,以便在按F5时,它编译并启动IIS。这里有一个很好的分步指南:-不能放在这里,太长了!