我有一个Windows应用程序 - Metro应用程序,它连接在同一台PC上运行的Net TCP WCF服务(托管在控制台应用程序中),但是在Windows 8的桌面模式下。我在metro应用程序中添加了WCF服务的引用,一切正常。
我打包我的商店/都市应用程序和WCF服务并试用另一台没有安装Visual Studio的PC,所以我不重新编译代码,我只是安装了metro应用程序包并运行WCF服务的可执行文件。 WCF服务启动正常,但是当我启动我的地铁应用程序时它给我错误(见下图)
似乎由于某些原因,在其他PC上安装的metro应用程序无法找到服务引用。我在google搜索后尝试了很多东西,但没有任何作用。任何想法/提示/建议将不胜感激。
答案 0 :(得分:2)
Windows Store应用程序通常不能使用环回地址,除了1)SAME进程内的通信,或2)用于开发目的。来自How to enable loopback and troubleshoot network isolation:
使用IP环回地址的网络通信不能用于Windows应用商店应用中的进程间通信(在两个不同的应用之间),因为这受到网络隔离的限制。允许在同一进程内的应用程序内使用IP环回地址进行网络通信以进行通信。
开发人员可能希望使用环回进行测试或调试,即使该功能无法供客户使用。例如,应用程序可能希望从Windows应用商店应用程序下载Web服务中的数据。出于开发目的,开发人员希望在127.0.0.1上本地配置了Web服务的单台计算机上测试应用程序。
仅允许环回用于开发目的。不允许使用安装在Visual Studio外部的Windows应用商店应用。
在生产方案中,您可能必须在单独的计算机上安装WCF服务。请注意,您必须在应用程序清单中(在客户端应用程序上)启用“专用网络”功能才能启用本地网络访问。