我已经开始开发一个 Windows 8 商店应用程序,该应用程序需要与在 Windows 7 服务器上作为 Windows 服务运行的 WCF 服务进行通信。绑定是 net.tcp,还没有安全性。我还进入了 Package.appxmanifest 文件,并在我的主应用程序项目和单元测试项目中检查了“Internet(客户端)”和“私有网络(客户端和服务器)”。这在单元测试项目中运行良好,我可以与在 Windows 7 机器上运行的 WCF 服务进行通信,但我无法在 Windows 8 应用程序本身中访问该服务。应用程序只是挂起对 web 服务代理的调用。我只是错过了一些简单的权限/清单功能吗?
编辑:我实际上已经开始工作了。我的服务接口返回 aTask<IList<MyDataObj>>
并且实现是异步的(async
在方法实现上使用关键字)。当我在单元测试中运行它时,我会调用GetItems()
,然后Wait()
在返回的任务上调用。将其复制到应用程序,它不会工作。当我更改应用程序中的代码并改为await
编辑任务调用时,调用是对 WCF 服务进行的。我现在的问题是,这两种环境有什么区别,什么会导致调用挂起?