无效的HostName – 无法从Android模拟器连接IIS express

我正在尝试从Android应用程序连接我本地IIS Express托管的WCF服务。 目前,我正在模拟器上测试它。

该服务的本地URL是http://locahost:40000/api/Authenticate

我知道localhost无法工作,我在代码中使用了10.0.2.2

 post = new HttpPost("http://10.0.2.2:40000/api/authenticate"); 

但客户端执行的响应是“无效的主机名”

我尝试编辑IIS Express的ApplicationHost.config并为10.0.2.2添加了一个绑定条目,但这也没有用

还有什么我想念的吗?

我尝试了其他有用的东西,我在IIS Express applicationhost.config文件绑定部分中添加了我的系统的IP地址。

     

我现在可以打电话给服务了

据我了解,10.0.2.2是127.0.0.1的别名,所以将它添加到您的站点的applicationhost.config绑定,例如

           

请记住,如果您使用Visual Studio,您的站点的相关applicationhost.config可能不在c:\users\... ,而是在解决方案根目录下的.vs\config文件夹中。

在AndroidManifest.xml中添加Internet PermissionNetwork StateWifi 权限

  1. 什么是“端口40000”???????
    肯定会尝试更低端口号(如32768以下的东西;))
  2. 确保您的androidmanifest.xml具有Internet权限
  3. 确保在IIS中定义并提供“api / authenticate”
  4. 确保Windows防火墙未阻止端口40000
  5. 有用的工具包括:
    • ping(所以你可以“ping 10.0.0.2”;在OOTB Windows中可用)
    • telnet(所以你可以“telnet localhost NNN”;你必须在Windowsfunction中添加它)
    • Firefox和Firebug
    • Wireshark的