我正在尝试从Android应用程序连接我本地IIS Express上托管的WCF服务。目前,我正在模拟器上测试它。
该服务的本地网址为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添加了一个绑定条目但是这也没有用
还有什么我遗失的吗?
答案 0 :(得分:10)
我尝试了其他有用的功能,我在IIS Express applicationhost.config文件绑定部分添加了我的系统的IP地址。
<bindings>
<binding protocol="http" bindingInformation="*:40000:localhost" />
<binding protocol="http" bindingInformation="*:40000:192.168.5.118" />
</bindings>
我现在可以调用该服务
答案 1 :(得分:9)
据我了解,10.0.2.2是127.0.0.1的别名,因此请将其添加到您网站的applicationhost.config
绑定中,例如
<site name="MySite" id="1">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="{yourpath}" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:26013:localhost" />
<binding protocol="http" bindingInformation="*:26013:127.0.0.1" />
</bindings>
</site>
请记住,如果您使用Visual Studio,这些天您的网站的相关applicationhost.config
可能不在c:\users\...
,而是位于您的根目录的.vs\config
文件夹中溶液
答案 2 :(得分:-1)
答案 3 :(得分:-2)
在AndroidManifest.xml中添加Internet Permission
,Network State
和Wifi
权限