结果测试,第二中方法可以,第一种方法不知道为什么不行。
这两天,将以前做过的基于WCF的Windows Phone应用程序移植到Windows Phone 8 模拟器环境上,出现了如图-1的错误:
图-1
msdn给出了这样的解释和解决方案How to connect to a local web service from the Windows Phone 8 emulator。
自己在实现的时候所验证的问题和注意的地方,通过一个简单的实例和大家分享一下。
1、建立Windows Phone 8 客户端(PhoneAppTest)
2、建立WCF服务应用程序(WCFServiceTest),这里就不做任何修改。
3、在WP8应用程序中添加之前建立的WCF服务
客户端MainPage前台代码:
客户端MainPage后台代码:
运行程序时会出现如图1的错误。
解决方法:
方法1:使用IP+项目名
1、配置项目的URL。以管理员身份运行VS2012,打开已经建好的WCF应用程序(WCFServiceTest),右键-属性-Web-配置项目的URL(将localhost改为IP地址)
注意,这里的IP地址:
2、更改防火墙设置。Windows防火墙-允许应用或功能通过Windows防火墙-更改设置
3、配置服务引用。在WP8客户端应用程序中重新配置WCF服务引用,部署运行结果
方法二:IP+端口号
1、在IIS中部署网站。打开IIS管理器,添加上面建立的WCF服务的网站,设置IP地址(同上IP地址),端口号等
注意,要让IIS8支持WCF服务请访问在IIS8添加WCF支持。
2、更改防火墙设置。Windows防火墙-高级设置-入站规则-根据向导新建入站规则
3、配置服务引用。在WP8客户端应用程序(PhoneAppTest)中重新配置WCF服务引用,成功运行。