我有一个UWP平板电脑应用,尝试使用托管在2K8 R2 Windows服务器上的REST连接到WCF服务但是因SocketException而失败:
"尝试以其访问权限xx.xx.xx.xx禁止的方式访问套接字:58993"
此时应用程序失败了:
private String EndPoint = "xx.xx.xx.xx:58993/TabletService";
private HttpClient serviceClient = null;
serviceClient = new HttpClient() { Timeout = TimeSpan.FromSeconds(10) };
HttpResponseMessage wcfResponse = serviceClient.GetAsync(new Uri(String.Format("http://{0}/Initialize", EndPoint))).Result;
我可以成功远程登录到网络上任何位置指定的IP和端口。
netstat -o显示按预期在端口上侦听的服务。
在客户端和服务器上禁用防火墙。我已经在两台机器上关闭了AV。
应用程序将从Visual Studio(IDE)连接到在同一开发计算机上安装并运行的服务。
答案 0 :(得分:0)
请检查您的WCF服务是否具有身份验证。例如,当您致电该服务时,您还需要发送“帐户/密码”。这是第一点。
第二,请在使用浏览器获取此网址时检查它是否有效。
第三,我建议您可以尝试更改端口并以管理员模式打开Visual Studio,然后调试您的UWP应用程序以连接到您的wcf服务并查看它是否可行。
答案 1 :(得分:0)
显然,UWP应用已被锁定,无法通过网络运行。它们在IDE中运行时在本地工作,因为Visual Studio具有内置环回适配器,但是当在网络上运行时,需要在Package.appxmanifest中为它们提供特定功能。
我添加了专用网络(客户端和服务器)功能,这解决了这个问题。看到这个链接: https://msdn.microsoft.com/en-us/library/windows/apps/hh770532.aspx