无法连接到Windows应用商店中的localhost

adi*_*ion 0 loopback-address windows-store-apps

当我在互联网上阅读时,microsoft阻止了监听和接收localhost(127.0.0.1)上任何端口流量的选项.我想开发用于在本地测试我的2个服务器/客户端应用程序.我按照这里的说明:http: //msdn.microsoft.com/en-us/library/windows/apps/hh780593.aspx

但它不起作用.当我使用调试选项时,我得到:

网络功能状态

InternetClient                Not Used and Insecure
InternetClientServer          Not Used and Insecure
PrivateNetworkClientServer    Not Used and Insecure
Run Code Online (Sandbox Code Playgroud)

详细的交通报告

InternetClient                Not Used and Insecure
Run Code Online (Sandbox Code Playgroud)
InternetClientServer          Not Used and Insecure
Run Code Online (Sandbox Code Playgroud)
PrivateNetworkClientServer    Not Used and Insecure
Run Code Online (Sandbox Code Playgroud)

知道为什么它不起作用吗?

小智 9

我的方案:开发了一个供内部使用的Windows应用商店应用,在开发机器上运行正常,但是当迁移到另一台机器时,任何HttpClient调用都失败了.我在这里遇到两个问题:

  1. 与本地计算机上的IIS通信时HttpClient失败

  2. HttpClient失败与本地子网上的远程计算机上的IIS通信时

问题2是一个简单的修复,在Visual Studio中设置应用程序以允许" 专用网络(客户端和服务器) "下的功能(Package.appxmanifest>功能),重新部署,一切都很好.

问题1很难解决.默认情况下,Visual Studio在NetIsolation中添加一个例外,该例外允许和拒绝本地环回/本地主机访问.您需要在此列表中添加您的应用程序作为例外,但OP中提供的链接中的信息不起作用,我无法使命令工作,所以这是我如何做到的:

(注意确保应用程序安装在您正在运行的计算机上)

  1. 转到您的注册表,然后按CTRL + F查找您的应用程序(例如,如果它被称为TESTApp1,则将其输入搜索框).
  2. 您应该找到一个看起来像guid后跟名称的注册表项,例如: ac2efce7-a15b-40d0-92db-3abde43a6778_1.0.1.15_neutral__025mzc78q1aqe

获得该名称后,在命令提示符下(以管理员身份,以防万一)运行: CheckNetIsolation.exe LoopbackExempt -s

在输出中,找到您的GUID.您将看到它下面的SID,记下此SID.3)运行以下命令,在问题机器上输入您的SID: CheckNetIsolation.exe LoopbackExempt -a -p=SIDHERE

注意:备选步骤2:您还可以在以下注册表项下找到您的SID(假设您已安装该应用程序):

HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings
Run Code Online (Sandbox Code Playgroud)

再次,CTRL + F并在那里找到你的应用程序.