当前位置:  开发笔记 > 编程语言 > 正文

无法从UWP应用程序中看到localhost

如何解决《无法从UWP应用程序中看到localhost》经验,为你挑选了1个好方法。

我正在笔记本电脑上使用UWP应用程序.在以前发布Windows 10的笔记本电脑上,我能够让我的应用程序在localhost上看到我的Web API服务,但是在这台笔记本电脑上,无论我尝试什么,我总是使用HTTP客户端收到此错误:

无法建立与服务器的连接

var response = await client.GetAsync(BuildGetRequest()).AsTask(source.Token);

如果我指向我在Azure上发布的服务,一切正常.这是我尝试过的:

在App的项目属性中设置允许的本地网络环回.确认在Fiddler的AppContainer Loopback Exemption Utility中检查了我的app包名称.

在Package.AppManifest中设置Internet(客户端),Internet(客户端和服务器),专用网络功能

尝试从命令行手动设置c:> checknetisolation loopbackexempt -a -n =

UWP启用本地网络环回

在绝望的行为中完全禁用了防火墙.

在完整的IIS而不是IIS Express中运行我的Web API.

没有任何区别.

我注意到我在Edge中遇到了类似的问题,尽管允许使用Localhost环回about:flags以及我在其中找到的其他一些建议:

https://social.technet.microsoft.com/Forums/en-US/0face535-3c7a-4658-be34-6c376322ca34/microsoft-edge-cant-open-local-domains

我的Web API项目在除Edge之外的每个浏览器中运行良好,因此我猜测Edge是一个通用应用程序,问题是相互关联的.当我在Edge中调试它时,我收到此错误:

无法连接到代理服务器

如果我去Settings关闭手动代理服务器,再次运行它我得到:

嗯,我们无法访问此页面

我注意到,由于某种原因,手动代理服务器设置在后续运行期间不断重新打开.

任何人都可以建议我可以尝试让我的UWP应用程序在localhost上查看我的服务吗?



1> rustyx..:

这不是一个错误,它是一个称为网络隔离的功能.它是在Windows 8中引入的(Metro应用程序称为Windows运行时应用程序).

出于安全原因,不允许以标准方式安装的UWP应用程序对其安装的设备进行网络调用.

更多细节在这里和这里.

可以在Visual Studio调试设置中禁用该功能,还有文章如何允许Windows运行时应用程序的环回谈论使用CheckNetIsolation Windows工具为每个应用程序启用环回访问:

CheckNetIsolation.exe LoopbackExempt -s

CheckNetIsolation.exe LoopbackExempt –a –p=S-1-15-2-4125766819-3228448775-2449327860-2490758337-1264241865-3581724871-2122349299

还有GUI工具,如启用环回实用程序和环回免除管理器,使这项任务更容易:

启用环回实用程序


问题是,即使有所有这些,您也无法在UWP应用中使用侦听Socket或StreamSocket来接受来自同一台计算机的连接
推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有