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

时间:2013-07-24 11:52:02

标签: windows-store-apps loopback-address

当我在互联网上阅读时,微软会阻止监听和接收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

详细的交通报告

InternetClient                Not Used and Insecure

InternetClientServer          Not Used and Insecure

PrivateNetworkClientServer    Not Used and Insecure

任何想法为什么它不起作用?

2 个答案:

答案 0 :(得分:9)

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

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

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

  3. 问题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
    3. 获得该名称后,在命令提示符下(以管理员身份,以防万一)运行: 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
      

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

答案 1 :(得分:1)

我找到的最简单的解决方案是让Fiddler为我设置环回异常。你可以免费下载Fiddler。 安装完成后,请按此guide选择要为其授予例外的应用。如果您计划使用HTTPS,请记住还要完成有关证书的步骤。我希望能帮助他人节省一些时间。